all repos — openbox @ 7833271d1461d9b0e02ffc804cd4e0156fd8faf4

openbox fork - make it a bit more like ryudo

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.
Dana Jansens danakj@orodu.net
commit

7833271d1461d9b0e02ffc804cd4e0156fd8faf4

parent

469b0c1ca9c78e3dd0c030dea7dcb9038f557fe6

1 files changed, 8 insertions(+), 4 deletions(-)

jump to
M openbox/client_list_menu.copenbox/client_list_menu.c

@@ -50,7 +50,7 @@

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

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

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); } }