]> Dogcows Code - chaz/openbox/commitdiff
Add the manageDesktops option.
authorMikael Magnusson <mikachu@comhem.se>
Sun, 3 Feb 2008 15:53:33 +0000 (16:53 +0100)
committerMikael Magnusson <mikachu@comhem.se>
Mon, 4 Feb 2008 01:26:00 +0000 (02:26 +0100)
data/rc.xml
data/rc.xsd
openbox/client_list_combined_menu.c
openbox/client_list_menu.c
openbox/config.c
openbox/config.h

index d164660d3ec2760bd10e951417c5ceb1e9d18071..90ec90d1484425b816938f046461958d45bf1726 100644 (file)
   <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
   <file>menu.xml</file>
   <hideDelay>200</hideDelay>
+  <!-- if a press-release lasts longer than this setting (in milliseconds), the
+       menu is hidden again -->
   <middle>no</middle>
+  <!-- center submenus vertically about the parent entry -->
   <submenuShowDelay>100</submenuShowDelay>
+  <!-- this one is easy, time to delay before showing a submenu after hovering
+       over the parent entry -->
   <applicationIcons>yes</applicationIcons>
+  <!-- controls if icons appear in the client-list-(combined-)menu -->
+  <manageDesktops>yes</manageDesktops>
+  <!-- show the manage desktops section in the client-list-(combined-)menu -->
 </menu>
 
 <applications>
index bc8a8fe6a7ea72c94333759c4a5d62d0f2be1923..4b7d88d6c8b126145c08e40c8bb10130fa2fc9d9 100644 (file)
         <xsd:element minOccurs="0" name="middle" type="ob:bool"/>
         <xsd:element minOccurs="0" name="submenuShowDelay" type="xsd:integer"/>
         <xsd:element minOccurs="0" name="applicationIcons" type="ob:bool"/>
+        <xsd:element minOccurs="0" name="manageDesktops" type="ob:bool"/>
     </xsd:complexType>
     <xsd:complexType name="window_position">
         <xsd:element name="x" type="ob:center_or_int"/>
index c1572eaf2813fc5efd321fe846a6d8188bca1268..76a819fcbaf8afee80aa31f84ed9787059524d04 100644 (file)
@@ -94,10 +94,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_desktops) {
+        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 0febe2e688d42484831cd7984155f5b7b2f752c7..e6521a0aafe8761dcce6a2b392dbe2139af69d9e 100644 (file)
@@ -153,10 +153,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_desktops) {
+        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 99aa57f4773b0012174aca396ee5e91fcef7efac..673af4bdbeee9c69be5d6e54474ea7fd1cadcaea 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_desktops;
 
 GSList *config_menu_files;
 
@@ -777,6 +778,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("manageDesktops", node)))
+            config_menu_manage_desktops = parse_bool(doc, n);
     }
 }
 
@@ -968,6 +971,7 @@ void config_startup(ObParseInst *i)
     config_menu_middle = FALSE;
     config_submenu_show_delay = 0;
     config_menu_client_list_icons = TRUE;
+    config_menu_manage_desktops = TRUE;
     config_menu_files = NULL;
 
     parse_register(i, "menu", parse_menu, NULL);
index 23011a15f2006e463d821706a2567c190f90c758..3fd1b879a61b5246f98ab8fc1f2fefd2c61e312b 100644 (file)
@@ -177,8 +177,10 @@ extern guint    config_menu_hide_delay;
 extern gboolean config_menu_middle;
 /*! Delay before opening a submenu in milliseconds */
 extern guint    config_submenu_show_delay;
-/*! show icons in client_list_menu */
+/*! Show icons in client_list_menu */
 extern gboolean config_menu_client_list_icons;
+/*! Show manage desktops in client_list_menu */
+extern gboolean config_menu_manage_desktops;
 /*! User-specified menu files */
 extern GSList *config_menu_files;
 /*! Per app settings */
This page took 0.038202 seconds and 4 git commands to generate.