add an option to disable Manage Desktop in client-list menus
authorMikael Magnusson <mikachu@comhem.se>
Sun, 15 Jul 2007 12:25:20 +0000 (14:25 +0200)
committerMikael Magnusson <mikachu@comhem.se>
Mon, 23 Jul 2007 00:02:59 +0000 (02:02 +0200)
Signed-off-by: Mikael Magnusson <mikachu@comhem.se>
openbox/client_list_combined_menu.c
openbox/client_list_menu.c
openbox/config.c
openbox/config.h

index c2fc0238fad6e7c1431aa0b9bf1b4e62ebc1ef6c..1f433fa9a6739ae9c2d6ad6e9bdb9e01bc9755c6 100644 (file)
@@ -98,10 +98,12 @@ static gboolean self_update(ObMenuFrame *frame, gpointer data)
         }
     }
 
-    menu_add_separator(menu, CLIENT, _("Manage desktops"));
-    menu_add_normal(menu, ADD_DESKTOP, _("_Add new desktop"), NULL, TRUE);
-    menu_add_normal(menu, REMOVE_DESKTOP, _("_Remove last desktop"),
-                    NULL, TRUE);
+    if (config_menu_manage_desktop) {
+        menu_add_separator(menu, CLIENT, _("Manage desktops"));
+        menu_add_normal(menu, ADD_DESKTOP, _("_Add new desktop"), NULL, TRUE);
+        menu_add_normal(menu, REMOVE_DESKTOP, _("_Remove last desktop"),
+                        NULL, TRUE);
+    }
 
     return TRUE; /* always show the menu */
 }
index 3857d2ab16ae696f65368635e5ce8f0544ef1107..6b857b951449e3026a55536f10c3035edb6c13c4 100644 (file)
@@ -151,10 +151,12 @@ static gboolean self_update(ObMenuFrame *frame, gpointer data)
         desktop_menus = g_slist_append(desktop_menus, submenu);
     }
 
-    menu_add_separator(menu, CLIENT, NULL);
-    menu_add_normal(menu, ADD_DESKTOP, _("_Add new desktop"), NULL, TRUE);
-    menu_add_normal(menu, REMOVE_DESKTOP, _("_Remove last desktop"),
-                    NULL, TRUE);
+    if (config_menu_manage_desktop) {
+        menu_add_separator(menu, CLIENT, NULL);
+        menu_add_normal(menu, ADD_DESKTOP, _("_Add new desktop"), NULL, TRUE);
+        menu_add_normal(menu, REMOVE_DESKTOP, _("_Remove last desktop"),
+                        NULL, TRUE);
+    }
 
     return TRUE; /* always show */
 }
index 5e6c3ff3a6458280ed1579189606b5c4f97df212..7701a4ef3493c359102b99f1553c3620944d0bbb 100644 (file)
@@ -88,6 +88,7 @@ guint    config_menu_hide_delay;
 gboolean config_menu_middle;
 guint    config_submenu_show_delay;
 gboolean config_menu_client_list_icons;
+gboolean config_menu_manage_desktop;
 
 GSList *config_menu_files;
 
@@ -773,6 +774,8 @@ static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr 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("manageDesktop", node)))
+            config_menu_manage_desktop = parse_bool(doc, n);
     }
 }
 
@@ -963,6 +966,7 @@ void config_startup(ObParseInst *i)
     config_menu_middle = FALSE;
     config_submenu_show_delay = 0;
     config_menu_client_list_icons = TRUE;
+    config_menu_manage_desktop = TRUE;
     config_menu_files = NULL;
 
     parse_register(i, "menu", parse_menu, NULL);
index 3ea6e7a4c0cea72ebbb289ecab4ed82652baea75..4aa8b2702af78c61b5a386b1d691a73465174aa7 100644 (file)
@@ -177,6 +177,8 @@ extern gboolean config_menu_middle;
 extern guint    config_submenu_show_delay;
 /*! show icons in client_list_menu */
 extern gboolean config_menu_client_list_icons;
+/*! show manage desktop in client_list_menu */
+extern gboolean config_menu_manage_desktop;
 /*! User-specified menu files */
 extern GSList *config_menu_files;
 /*! Per app settings */