all repos — openbox @ 12ca673de556b341588a7f67fb2b9417c1e91d6b

openbox fork - make it a bit more like ryudo

Add the manageDesktops option.
Mikael Magnusson mikachu@comhem.se
commit

12ca673de556b341588a7f67fb2b9417c1e91d6b

parent

6b04ac47e2306b7b37a2f52753a94a7b87515f7a

M data/rc.xmldata/rc.xml

@@ -622,9 +622,17 @@

<!-- 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>
M data/rc.xsddata/rc.xsd

@@ -168,6 +168,7 @@ <xsd:element minOccurs="0" name="hideDelay" type="xsd:integer"/>

<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"/>
M openbox/client_list_combined_menu.copenbox/client_list_combined_menu.c

@@ -94,10 +94,12 @@ e->data.normal.enabled = FALSE;

} } - 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 */ }
M openbox/client_list_menu.copenbox/client_list_menu.c

@@ -153,10 +153,12 @@

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 */ }
M openbox/config.copenbox/config.c

@@ -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 @@ 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); } }

@@ -968,6 +971,7 @@ config_menu_hide_delay = 250;

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);
M openbox/config.hopenbox/config.h

@@ -177,8 +177,10 @@ /*! Center menus vertically about the parent entry */

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 */