From 6bc1e2a4900cc21e5cbc6156ae60f3e8a1b8e196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Mon, 12 Nov 2018 08:05:15 +0100 Subject: [PATCH] Block monitor window movement while changing monitors Try to avoid any unintended window movement while transitioning between monitor setups. --- tiling.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tiling.js b/tiling.js index 2d8f449..2a56ce6 100644 --- a/tiling.js +++ b/tiling.js @@ -938,6 +938,8 @@ class Spaces extends Map { left with heuristics. */ monitorsChanged() { + this._monitorsChanging = true; + if (this.monitors) oldMonitors = this.monitors; @@ -975,6 +977,9 @@ class Spaces extends Map { } }); this.spaceContainer.show(); + + imports.mainloop.timeout_add( + 20, () => { this._monitorsChanging = false; }); }; if (this.overrideSettings.get_boolean('workspaces-only-on-primary')) { @@ -1443,7 +1448,8 @@ class Spaces extends Map { || Scratch.isScratchWindow(metaWindow) || metaWindow.is_on_all_workspaces() || !metaWindow.clone - || metaWindow.clone.visible) + || metaWindow.clone.visible + || this._monitorsChanging) return; let monitor = Main.layoutManager.monitors[index];