when holding Shift for the client list menus, bring the selected client to the current desktop (Request #4284)
This commit is contained in:
parent
ce24cbd045
commit
7ac0b91965
2 changed files with 8 additions and 4 deletions
|
@ -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, TRUE, 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
|
||||
|
|
|
@ -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, TRUE, 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
|
||||
|
|
Loading…
Reference in a new issue