After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 741680 - Switching between windows on different desktops flicks
Switching between windows on different desktops flicks
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: window-management
3.14.x
Other Linux
: Normal enhancement
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2014-12-17 21:04 UTC by van.de.bugger
Modified: 2015-03-19 00:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
windowManager: Update stacking during workspace switches (2.64 KB, patch)
2014-12-17 22:41 UTC, Florian Müllner
committed Details | Review

Description van.de.bugger 2014-12-17 21:04:10 UTC
It is not a bug but suggestion to make window/application switching smoother.

Let us consider following layout: 3 applications running, app A and B are on the first desktop, app C on the second desktop. All the app windows are maximized, and app window A is mostly white while app window B is mostly blank (it is not actually required but makes flicking more visible). User switches from app to app by pressing Alt+Tab or Meta+Tab. App A is initially active, then user switches to app C, then to B.

Currently (in gnome 3.14.2) gnome-shell switches from second desktop to the first one by vertical sliding, showing the first desktop with app A (because it was he last active window on the first desktop), and *then* activates app window B. Display flicks.

I think behavior should be a bit different: gnome shell shold activate app B on not-yet-visible first desktop, and *then* slide from the second desktop to the first desktop. Such sequence will avoid unpleasant flick and make window switching smoother and more visually pleasant.
Comment 1 Florian Müllner 2014-12-17 21:19:10 UTC
(In reply to comment #0)
> It is not a bug

Heh, polish issues are bugs too - thanks for your attention to detail!
Comment 2 Florian Müllner 2014-12-17 22:41:13 UTC
Created attachment 292943 [details] [review]
windowManager: Update stacking during workspace switches

When animating workspace switches, windows on the old and new workspaces
are temporarily reparented. If windows are restacked, those windows will
thus be ignored by mutter until meta_switch_workspace_completed() resyncs
the stacking at the end of the animation.
As a result, activating a window on another workspace that is not on top
of the stack is very noticeably a two-step operation of switching workspace
and raising the window. There is a technical reason for that order[0], but
we can avoid the visible disruption by manually syncing the stack during
the switch operation.

[0] https://git.gnome.org/browse/mutter/tree/src/core/workspace.c#n590
Comment 3 Jasper St. Pierre (not reading bugmail) 2014-12-19 04:50:21 UTC
Review of attachment 292943 [details] [review]:

OK.
Comment 4 Florian Müllner 2014-12-19 12:01:24 UTC
Attachment 292943 [details] pushed as 0257a23 - windowManager: Update stacking during workspace switches
Comment 5 van.de.bugger 2015-03-19 00:44:31 UTC
Hi, what the gnome-shell version the bug is fixed in? It still flicks in 3.14.3.
Comment 6 Florian Müllner 2015-03-19 00:46:23 UTC
3.15.3.