add a 'Switch to...' entry to empty desktops in the client-list-menu
This commit is contained in:
parent
3b1e518dbc
commit
fdd1c3c8a7
1 changed files with 14 additions and 1 deletions
|
@ -42,6 +42,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
|
|||
GList *it;
|
||||
gint i;
|
||||
gboolean icons = FALSE;
|
||||
gboolean empty = TRUE;
|
||||
|
||||
menu_clear_entries(menu);
|
||||
|
||||
|
@ -53,6 +54,8 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
|
|||
ObMenuEntry *e;
|
||||
ObClientIcon *icon;
|
||||
|
||||
empty = FALSE;
|
||||
|
||||
if (!icons && c->iconic) {
|
||||
icons = TRUE;
|
||||
menu_add_separator(menu, -1);
|
||||
|
@ -72,7 +75,17 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (empty) {
|
||||
/* no entries */
|
||||
|
||||
GSList *acts;
|
||||
ObAction* act;
|
||||
act = action_from_string("Desktop", OB_USER_ACTION_MENU_SELECTION);
|
||||
act->data.desktop.desk = d->desktop;
|
||||
acts = g_slist_prepend(NULL, act);
|
||||
menu_add_normal(menu, 0, "Switch to...", acts);
|
||||
}
|
||||
}
|
||||
|
||||
/* executes it using the client in the actions, since we set that
|
||||
|
|
Loading…
Reference in a new issue