show windows before hiding when switching desktops
This commit is contained in:
parent
0a2aa08924
commit
e8ed8b3c2a
1 changed files with 8 additions and 6 deletions
|
@ -278,12 +278,7 @@ void screen_set_desktop(guint num)
|
|||
|
||||
if (old == num) return;
|
||||
|
||||
/* hide windows from bottom to top */
|
||||
for (it = g_list_last(stacking_list); it != NULL; it = it->prev) {
|
||||
Client *c = it->data;
|
||||
if (c->frame->visible && !client_should_show(c))
|
||||
engine_frame_hide(c->frame);
|
||||
}
|
||||
/* show windows before hiding the rest to lessen the enter/leave events */
|
||||
|
||||
/* show windows from top to bottom */
|
||||
for (it = stacking_list; it != NULL; it = it->next) {
|
||||
|
@ -292,6 +287,13 @@ void screen_set_desktop(guint num)
|
|||
engine_frame_show(c->frame);
|
||||
}
|
||||
|
||||
/* hide windows from bottom to top */
|
||||
for (it = g_list_last(stacking_list); it != NULL; it = it->prev) {
|
||||
Client *c = it->data;
|
||||
if (c->frame->visible && !client_should_show(c))
|
||||
engine_frame_hide(c->frame);
|
||||
}
|
||||
|
||||
dispatch_ob(Event_Ob_Desktop, num, old);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue