From ea4625586c2e6a72791881453ea078397948a59e Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Sun, 15 Jul 2007 14:25:20 +0200 Subject: [PATCH] add an option to disable Manage Desktop in client-list menus Signed-off-by: Mikael Magnusson --- openbox/client_list_combined_menu.c | 10 ++++++---- openbox/client_list_menu.c | 10 ++++++---- openbox/config.c | 4 ++++ openbox/config.h | 2 ++ 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/openbox/client_list_combined_menu.c b/openbox/client_list_combined_menu.c index c2fc0238..1f433fa9 100644 --- a/openbox/client_list_combined_menu.c +++ b/openbox/client_list_combined_menu.c @@ -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 */ } diff --git a/openbox/client_list_menu.c b/openbox/client_list_menu.c index 3857d2ab..6b857b95 100644 --- a/openbox/client_list_menu.c +++ b/openbox/client_list_menu.c @@ -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 */ } diff --git a/openbox/config.c b/openbox/config.c index 5e6c3ff3..7701a4ef 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -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); diff --git a/openbox/config.h b/openbox/config.h index 3ea6e7a4..4aa8b270 100644 --- a/openbox/config.h +++ b/openbox/config.h @@ -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 */ -- 2.34.1