X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=2c787e4b483dbd55684aeb4489692d2166c90b5e;hb=8e63ffdabdc3be3ad355dcaddd47d8e71c510739;hp=d72cce8d234689da98f818dda0ff5e03d57cf4ba;hpb=4e8eff328cf9f99f833ce01997621d3817074ab1;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index d72cce8d..2c787e4b 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -26,10 +26,11 @@ gboolean config_focus_new; gboolean config_focus_follow; -gboolean config_focus_last; guint config_focus_delay; guint config_focus_raise; +ObPlacePolicy config_place_policy; + char *config_theme; gchar *config_title_layout; @@ -202,14 +203,24 @@ static void parse_focus(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, config_focus_new = parse_bool(doc, n); if ((n = parse_find_node("followMouse", node))) config_focus_follow = parse_bool(doc, n); - if ((n = parse_find_node("focusLast", node))) - config_focus_last = parse_bool(doc, n); if ((n = parse_find_node("focusDelay", node))) config_focus_delay = parse_int(doc, n) * 1000; if ((n = parse_find_node("raiseOnFocus", node))) config_focus_raise = parse_bool(doc, n); } +static void parse_placement(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, + void *d) +{ + xmlNodePtr n; + + node = node->children; + + if ((n = parse_find_node("policy", node))) + if (parse_contains("UnderMouse", doc, n)) + config_place_policy = OB_PLACE_POLICY_MOUSE; +} + static void parse_theme(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, void *d) { @@ -343,19 +354,6 @@ static void parse_dock(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, void *d) } } -static void parse_dialog(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, - void *d) -{ - xmlNodePtr n; - - node = node->children; - - if ((n = parse_find_node("focus", node))) - config_dialog_focus = parse_bool(doc, n); - if ((n = parse_find_node("desktop", node))) - config_dialog_desktop = parse_bool(doc, n); -} - static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, void *d) { for (node = node->children; node; node = node->next) { @@ -489,12 +487,15 @@ void config_startup(ObParseInst *i) { config_focus_new = TRUE; config_focus_follow = FALSE; - config_focus_last = TRUE; config_focus_delay = 0; config_focus_raise = FALSE; parse_register(i, "focus", parse_focus, NULL); + config_place_policy = OB_PLACE_POLICY_SMART; + + parse_register(i, "placement", parse_placement, NULL); + config_theme = NULL; config_title_layout = g_strdup("NLIMC"); @@ -542,11 +543,6 @@ void config_startup(ObParseInst *i) parse_register(i, "resistance", parse_resistance, NULL); - config_dialog_focus = TRUE; - config_dialog_desktop = TRUE; - - parse_register(i, "dialog", parse_dialog, NULL); - config_menu_files = NULL; parse_register(i, "menu", parse_menu, NULL);