add a 'Switch to...' entry to empty desktops in the client-list-menu

This commit is contained in:
Dana Jansens 2003-09-18 06:17:51 +00:00
parent 3b1e518dbc
commit fdd1c3c8a7

View file

@ -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