Add option to change the client list menus back to separating iconified windows with a line instead of bracketing them.
for (desktop = 0; desktop < screen_num_desktops; desktop++) {
gboolean empty = TRUE;
gboolean onlyiconic = TRUE;
+ gboolean noicons = TRUE;
menu_add_separator(menu, SEPARATOR, screen_desktop_names[desktop]);
for (it = focus_order; it; it = g_list_next(it)) {
empty = FALSE;
if (c->iconic) {
- gchar *title = g_strdup_printf("(%s)", c->icon_title);
- e = menu_add_normal(menu, desktop, title, NULL, FALSE);
- g_free(title);
+ if (config_menu_separate_iconic) {
+ if (noicons) {
+ menu_add_separator(menu, -1, NULL);
+ noicons = FALSE;
+ }
+ e = menu_add_normal(menu, desktop, c->icon_title, NULL, FALSE);
+ } else {
+ gchar *title = g_strdup_printf("(%s)", c->icon_title);
+ e = menu_add_normal(menu, desktop, title, NULL, FALSE);
+ g_free(title);
+ }
} else {
onlyiconic = FALSE;
e = menu_add_normal(menu, desktop, c->title, NULL, FALSE);
GList *it;
gboolean empty = TRUE;
gboolean onlyiconic = TRUE;
+ gboolean noicons = TRUE;
menu_clear_entries(menu);
empty = FALSE;
if (c->iconic) {
- gchar *title = g_strdup_printf("(%s)", c->icon_title);
- e = menu_add_normal(menu, d->desktop, title, NULL, FALSE);
- g_free(title);
+ if (config_menu_separate_iconic) {
+ if (noicons) {
+ menu_add_separator(menu, -1, NULL);
+ noicons = FALSE;
+ }
+ e = menu_add_normal(menu, d->desktop, c->icon_title, NULL, FALSE);
+ } else {
+ gchar *title = g_strdup_printf("(%s)", c->icon_title);
+ e = menu_add_normal(menu, d->desktop, title, NULL, FALSE);
+ g_free(title);
+ }
} else {
onlyiconic = FALSE;
e = menu_add_normal(menu, d->desktop, c->title, NULL, FALSE);
guint config_submenu_hide_delay;
gboolean config_menu_manage_desktops;
gboolean config_menu_show_icons;
+gboolean config_menu_separate_iconic;
GSList *config_menu_files;
g_message(_("Openbox was compiled without image loading support. Icons in menus will not be loaded."));
#endif
}
+ if ((n = obt_xml_find_node(node, "separateIconic")))
+ config_menu_separate_iconic = obt_xml_node_bool(n);
for (node = obt_xml_find_node(node, "file");
node;
config_menu_manage_desktops = TRUE;
config_menu_files = NULL;
config_menu_show_icons = TRUE;
+ config_menu_separate_iconic = FALSE;
obt_xml_register(i, "menu", parse_menu, NULL);
extern gboolean config_menu_manage_desktops;
/*! Load & show icons in user-defined menus */
extern gboolean config_menu_show_icons;
+/*! Separate iconic windows instead of bracketing */
+extern gboolean config_menu_separate_iconic;
/*! User-specified menu files */
extern GSList *config_menu_files;
/*! Per app settings */