X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=d9c9789e309e91984ab327e9cabbfed7f59bb53c;hb=960a7f0184a84f99545fa2d3dd22cefc77f2cbc6;hp=c3fa786cce71c09b1a9f03e21388305cb43550cb;hpb=d2857b11944146e2e6973b7f7280cb57e1ee260b;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index c3fa786c..d9c9789e 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -1,5 +1,5 @@ #include "config.h" -#include "parse.h" +#include "parser/parse.h" gboolean config_focus_new; gboolean config_focus_follow; @@ -9,24 +9,29 @@ gboolean config_focus_popup; char *config_theme; +gchar *config_title_layout; + int config_desktops_num; GSList *config_desktops_names; gboolean config_opaque_move; gboolean config_opaque_resize; -StackLayer config_dock_layer; -DockPosition config_dock_pos; -int config_dock_x; -int config_dock_y; -gboolean config_dock_horz; -gboolean config_dock_hide; -guint config_dock_hide_timeout; +ObStackingLayer config_dock_layer; +gboolean config_dock_floating; +ObDirection config_dock_pos; +gint config_dock_x; +gint config_dock_y; +ObOrientation config_dock_orient; +gboolean config_dock_hide; +guint config_dock_hide_timeout; static void parse_focus(xmlDocPtr doc, xmlNodePtr node, void *d) { xmlNodePtr n; + node = node->xmlChildrenNode; + if ((n = parse_find_node("focusNew", node))) config_focus_new = parse_bool(doc, n); if ((n = parse_find_node("followMouse", node))) @@ -43,16 +48,24 @@ static void parse_theme(xmlDocPtr doc, xmlNodePtr node, void *d) { xmlNodePtr n; + node = node->xmlChildrenNode; + if ((n = parse_find_node("theme", node))) { g_free(config_theme); config_theme = parse_string(doc, n); } + if ((n = parse_find_node("titlelayout", node))) { + g_free(config_title_layout); + config_title_layout = parse_string(doc, n); + } } static void parse_desktops(xmlDocPtr doc, xmlNodePtr node, void *d) { xmlNodePtr n; + node = node->xmlChildrenNode; + if ((n = parse_find_node("number", node))) config_desktops_num = parse_int(doc, n); if ((n = parse_find_node("names", node))) { @@ -77,6 +90,8 @@ static void parse_moveresize(xmlDocPtr doc, xmlNodePtr node, void *d) { xmlNodePtr n; + node = node->xmlChildrenNode; + if ((n = parse_find_node("opaqueMove", node))) config_opaque_move = parse_bool(doc, n); if ((n = parse_find_node("opaqueResize", node))) @@ -87,27 +102,37 @@ static void parse_dock(xmlDocPtr doc, xmlNodePtr node, void *d) { xmlNodePtr n; + node = node->xmlChildrenNode; + if ((n = parse_find_node("position", node))) { if (parse_contains("TopLeft", doc, n)) - config_dock_pos = DockPos_TopLeft; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_NORTHWEST; else if (parse_contains("Top", doc, n)) - config_dock_pos = DockPos_Top; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_NORTH; else if (parse_contains("TopRight", doc, n)) - config_dock_pos = DockPos_TopRight; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_NORTHEAST; else if (parse_contains("Right", doc, n)) - config_dock_pos = DockPos_Right; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_EAST; else if (parse_contains("BottomRight", doc, n)) - config_dock_pos = DockPos_BottomRight; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_SOUTHEAST; else if (parse_contains("Bottom", doc, n)) - config_dock_pos = DockPos_Bottom; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_SOUTH; else if (parse_contains("BottomLeft", doc, n)) - config_dock_pos = DockPos_BottomLeft; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_SOUTHWEST; else if (parse_contains("Left", doc, n)) - config_dock_pos = DockPos_Left; + config_dock_floating = FALSE, + config_dock_pos = OB_DIRECTION_WEST; else if (parse_contains("Floating", doc, n)) - config_dock_pos = DockPos_Floating; + config_dock_floating = TRUE; } - if (config_dock_pos == DockPos_Floating) { + if (config_dock_floating) { if ((n = parse_find_node("floatingX", node))) config_dock_x = parse_int(doc, n); if ((n = parse_find_node("floatingY", node))) @@ -115,17 +140,17 @@ static void parse_dock(xmlDocPtr doc, xmlNodePtr node, void *d) } if ((n = parse_find_node("stacking", node))) { if (parse_contains("top", doc, n)) - config_dock_layer = Layer_Top; + config_dock_layer = OB_STACKING_LAYER_TOP; else if (parse_contains("normal", doc, n)) - config_dock_layer = Layer_Normal; + config_dock_layer = OB_STACKING_LAYER_NORMAL; else if (parse_contains("bottom", doc, n)) - config_dock_layer = Layer_Below; + config_dock_layer = OB_STACKING_LAYER_BELOW; } if ((n = parse_find_node("direction", node))) { if (parse_contains("horizontal", doc, n)) - config_dock_horz = TRUE; + config_dock_orient = OB_ORIENTATION_HORZ; else if (parse_contains("vertical", doc, n)) - config_dock_horz = FALSE; + config_dock_orient = OB_ORIENTATION_VERT; } if ((n = parse_find_node("autoHide", node))) config_dock_hide = parse_bool(doc, n); @@ -145,6 +170,8 @@ void config_startup() config_theme = NULL; + config_title_layout = g_strdup("NLIMC"); + parse_register("theme", parse_theme, NULL); config_desktops_num = 4; @@ -157,11 +184,12 @@ void config_startup() parse_register("moveresize", parse_moveresize, NULL); - config_dock_layer = Layer_Top; - config_dock_pos = DockPos_TopRight; + config_dock_layer = OB_STACKING_LAYER_TOP; + config_dock_pos = OB_DIRECTION_NORTHEAST; + config_dock_floating = FALSE; config_dock_x = 0; config_dock_y = 0; - config_dock_horz = FALSE; + config_dock_orient = OB_ORIENTATION_VERT; config_dock_hide = FALSE; config_dock_hide_timeout = 3000;