From bb22c4ed52d96156bf979c8a2d876c978b00c044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Fri, 27 Apr 2018 22:22:13 +0200 Subject: [PATCH] Don't check for pointer warping if we haven't changed monitors This seems to make `switchWorkspace` animation a bit smoother. --- navigator.js | 3 ++- tiling.js | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/navigator.js b/navigator.js index 9c6f85c..214f448 100644 --- a/navigator.js +++ b/navigator.js @@ -341,7 +341,8 @@ var PreviewedWindowNavigator = new Lang.Class({ this.space.selectedWindow = from[this._startIndex]; } - this.space.setMonitor(this.monitor, true); + if (this.monitor !== this.space.monitor) + this.space.setMonitor(this.monitor, true); if (this.space === from && force) { // We can't activate an already active workspace diff --git a/tiling.js b/tiling.js index 7b14973..5ec6a33 100644 --- a/tiling.js +++ b/tiling.js @@ -584,10 +584,15 @@ function enable() { (screen, fromIndex, toIndex) => { let to = screen.get_workspace_by_index(toIndex); let from = screen.get_workspace_by_index(fromIndex); - Navigator.switchWorkspace(to, from); let toSpace = spaces.spaceOf(to); spaces.monitors.set(toSpace.monitor, toSpace); + Navigator.switchWorkspace(to, from); + + let fromSpace = spaces.spaceOf(from); + if (toSpace.monitor === fromSpace.monitor) + return; + toSpace.monitor.clickOverlay.deactivate(); let display = Gdk.Display.get_default();