windowManager: Don't animate touch/touchpad gesture in overview

The window group is hidden while in overview, so the stick-to-content
animation isn't visible either. Worse, the gestures messes up the
position of window actors in that case.

Fix that by skipping the (invisible) animations in the overview.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/644
This commit is contained in:
Xiang Fan 2019-03-16 18:53:52 +08:00
parent 843ed09b09
commit 1f03c94d31

View File

@ -1049,6 +1049,10 @@ var WindowManager = new Lang.Class({
let workspaceManager = global.workspace_manager; let workspaceManager = global.workspace_manager;
let activeWorkspace = workspaceManager.get_active_workspace(); let activeWorkspace = workspaceManager.get_active_workspace();
// If overview is visible, we would mess up the positioning of windows.
if (Main.overview.visible)
return;
if (!this._switchData) if (!this._switchData)
this._prepareWorkspaceSwitch(activeWorkspace.index(), -1); this._prepareWorkspaceSwitch(activeWorkspace.index(), -1);
@ -1088,7 +1092,8 @@ var WindowManager = new Lang.Class({
if (newWs == activeWorkspace) { if (newWs == activeWorkspace) {
this._switchWorkspaceCancel(); this._switchWorkspaceCancel();
} else { } else {
this._switchData.gestureActivated = true; if (this._switchData)
this._switchData.gestureActivated = true;
this.actionMoveWorkspace(newWs); this.actionMoveWorkspace(newWs);
} }
}, },