summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-10-11 04:11:29 +0000
committerDana Jansens <danakj@orodu.net>2003-10-11 04:11:29 +0000
commit7833271d1461d9b0e02ffc804cd4e0156fd8faf4 (patch)
treef892fc48311025b13d38ace7b0a14ea2956c2a75
parent469b0c1ca9c78e3dd0c030dea7dcb9038f557fe6 (diff)
switch to the desktop after activating the client. this means that for omnipresent windows, you still move to the desktop on which you selected it.
-rw-r--r--openbox/client_list_menu.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/openbox/client_list_menu.c b/openbox/client_list_menu.c
index 4d4555f8..985cb729 100644
--- a/openbox/client_list_menu.c
+++ b/openbox/client_list_menu.c
@@ -50,7 +50,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
for (it = focus_order[d->desktop], i = 0; it; it = g_list_next(it), ++i) {
ObClient *c = it->data;
if (client_normal(c)) {
- GSList *acts;
+ GSList *acts = NULL;
ObAction* act;
ObMenuEntry *e;
const ObClientIcon *icon;
@@ -65,7 +65,11 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
act = action_from_string("Activate",
OB_USER_ACTION_MENU_SELECTION);
act->data.activate.any.c = c;
- acts = g_slist_prepend(NULL, act);
+ acts = g_slist_append(acts, act);
+ act = action_from_string("Desktop",
+ OB_USER_ACTION_MENU_SELECTION);
+ act->data.desktop.desk = d->desktop;
+ acts = g_slist_append(acts, act);
e = menu_add_normal(menu, i,
(c->iconic ? c->icon_title : c->title), acts);
@@ -80,11 +84,11 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
if (empty) {
/* no entries */
- GSList *acts;
+ GSList *acts = NULL;
ObAction* act;
act = action_from_string("Desktop", OB_USER_ACTION_MENU_SELECTION);
act->data.desktop.desk = d->desktop;
- acts = g_slist_prepend(NULL, act);
+ acts = g_slist_append(acts, act);
menu_add_normal(menu, 0, _("Go there..."), acts);
}
}