X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient_list_combined_menu.c;h=5b79b806b09d3e6a22ca62ee566eeef7e2817e53;hb=7ac0b9196585654327a6a5967c1f55561722a401;hp=a04d07d6fd5295ae2ac0615c65e7e518804bb8be;hpb=ea435b99a804b755312bcbb9371faa4c0111d43e;p=chaz%2Fopenbox diff --git a/openbox/client_list_combined_menu.c b/openbox/client_list_combined_menu.c index a04d07d6..5b79b806 100644 --- a/openbox/client_list_combined_menu.c +++ b/openbox/client_list_combined_menu.c @@ -114,10 +114,12 @@ static void menu_execute(ObMenuEntry *self, ObMenuFrame *f, else { 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