Add an option <manageDesktop> to disable the Manage Desktop section in client-list...
authorMikael Magnusson <mikachu@comhem.se>
Sun, 15 Jul 2007 12:25:20 +0000 (14:25 +0200)
committerMikael Magnusson <mikachu@comhem.se>
Sat, 2 Feb 2008 20:50:23 +0000 (21:50 +0100)
openbox/client_list_combined_menu.c
openbox/client_list_menu.c
openbox/config.c
openbox/config.h

index 16368051f49167efe1ae3b14fd9b4776b27d08f5..761e54b65cd354a4aae1e28c3bfeacef8922b23a 100644 (file)
@@ -97,10 +97,12 @@ static gboolean self_update(ObMenuFrame *frame, gpointer data)
         }
     }
 
-    menu_add_separator(menu, SEPARATOR, _("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, SEPARATOR, _("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 200d689ee75503a58eb70e71328c962d864812dd..8a3191c74d55785ca23f8818d2e6f375120810ba 100644 (file)
@@ -156,10 +156,12 @@ static gboolean self_update(ObMenuFrame *frame, gpointer data)
         desktop_menus = g_slist_append(desktop_menus, submenu);
     }
 
-    menu_add_separator(menu, SEPARATOR, 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, SEPARATOR, 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 629a12366279a93d22db5a145f9cce7b8229fc94..7d8950c33b84e1cf5ae61e3315d6e0572ba3e140 100644 (file)
@@ -89,6 +89,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;
 
@@ -767,6 +768,8 @@ static void parse_menu(xmlNodePtr node, gpointer d)
             config_submenu_show_delay = obt_parse_node_int(n);
         if ((n = obt_parse_find_node(node, "applicationIcons")))
             config_menu_client_list_icons = obt_parse_node_bool(n);
+        if ((n = obt_parse_find_node(node, "manageDesktop")))
+            config_menu_manage_desktop = obt_parse_node_bool(n);
     }
 }
 
@@ -958,6 +961,7 @@ void config_startup(ObtParseInst *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;
 
     obt_parse_register(i, "menu", parse_menu, NULL);
index 825fbfdb736547d2f6f4453e2a2df1d5b46f3118..07860163a3f262e9c8bb6aa72da82246e032e8ed 100644 (file)
@@ -179,6 +179,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 */