X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient_list_menu.c;h=c49e63e997f2dd3bca6bfa1e60a81b1aeefda7b4;hb=6457a55f8c1bdcbc62412e099102b5a79654df56;hp=4ec6e7855f8830128189683869919a711a52c4e7;hpb=4c7cc1cfa64bf5722f059eae0528d510c2ae636f;p=chaz%2Fopenbox diff --git a/openbox/client_list_menu.c b/openbox/client_list_menu.c index 4ec6e785..c49e63e9 100644 --- a/openbox/client_list_menu.c +++ b/openbox/client_list_menu.c @@ -101,10 +101,12 @@ static void desk_menu_execute(ObMenuEntry *self, ObMenuFrame *f, { ObClient *t = self->data.normal.data; if (t) { /* it's set to NULL if its destroyed */ - client_activate(t, FALSE, TRUE, TRUE, TRUE); + gboolean here = state & ShiftMask; + + client_activate(t, TRUE, here, TRUE, TRUE, TRUE); /* if the window is omnipresent then we need to go to its desktop */ - if (t->desktop == DESKTOP_ALL) + if (!here && t->desktop == DESKTOP_ALL) screen_set_desktop(self->id, FALSE); } else