]> Dogcows Code - chaz/openbox/blobdiff - openbox/config.c
Fix per-app monitor setting
[chaz/openbox] / openbox / config.c
index 00efd5ecea0565ccbe53d8a3fd48aa1f1f1ae2e3..96fdd0f4082b30df0338c21b5fb39d69d1a7ec89 100644 (file)
@@ -128,6 +128,7 @@ void config_app_settings_copy_non_defaults(const ObAppSettings *src,
     copy_if(type, (ObClientType)-1);
     copy_if(decor, -1);
     copy_if(shade, -1);
+    copy_if(monitor, -1);
     copy_if(focus, -1);
     copy_if(desktop, 0);
     copy_if(layer, -2);
@@ -267,7 +268,7 @@ static void parse_per_app_settings(ObParseInst *inst, xmlDocPtr doc,
                         if (!g_ascii_strcasecmp(s, "mouse"))
                             settings->monitor = 0;
                         else
-                            settings->monitor = parse_int(doc, c) + 1;
+                            settings->monitor = parse_int(doc, c);
                         g_free(s);
                     }
 
@@ -788,25 +789,25 @@ static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
                        gpointer data)
 {
     xmlNodePtr n;
-    for (node = node->children; node; node = node->next) {
-        if (!xmlStrcasecmp(node->name, (const xmlChar*) "file")) {
-            gchar *c;
+    node = node->children;
 
-            c = parse_string(doc, node);
+    if ((n = parse_find_node("hideDelay", node)))
+        config_menu_hide_delay = parse_int(doc, n);
+    if ((n = parse_find_node("middle", node)))
+        config_menu_middle = parse_bool(doc, n);
+    if ((n = parse_find_node("submenuShowDelay", node)))
+        config_submenu_show_delay = parse_int(doc, n);
+    if ((n = parse_find_node("applicationIcons", node)))
+        config_menu_client_list_icons = parse_bool(doc, n);
+    if ((n = parse_find_node("manageDesktops", node)))
+        config_menu_manage_desktops = parse_bool(doc, n);
+
+    while ((node = parse_find_node("file", node))) {
+            gchar *c = parse_string(doc, node);
             config_menu_files = g_slist_append(config_menu_files,
                                                parse_expand_tilde(c));
             g_free(c);
-        }
-        if ((n = parse_find_node("hideDelay", node)))
-            config_menu_hide_delay = parse_int(doc, n);
-        if ((n = parse_find_node("middle", node)))
-            config_menu_middle = parse_bool(doc, n);
-        if ((n = parse_find_node("submenuShowDelay", node)))
-            config_submenu_show_delay = parse_int(doc, n);
-        if ((n = parse_find_node("applicationIcons", node)))
-            config_menu_client_list_icons = parse_bool(doc, n);
-        if ((n = parse_find_node("manageDesktops", node)))
-            config_menu_manage_desktops = parse_bool(doc, n);
+            node = node->next;
     }
 }
 
This page took 0.02444 seconds and 4 git commands to generate.