From ab96a09889e21b66eca392efa2d86d289afef01d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 19 Oct 2019 21:39:41 +0200 Subject: [PATCH] insertWindow: Do not handle tiled windows that are stuck More only-on-primary work. When a secondary monitor is to the left/right of primary, tiled windows become `stuck` when they're pushed into the secondary monitor. Eg. if `A` and `B` is tiled `B` will become `stuck` by entiring the secondary monitor: |-----primary-----|----secondary------| | |-------------| | |-------------| | | | | | | | | | | | | | | | | | A | | | B | | | | | | | | | | |_____________| | |_____________| | |_________________|___________________| Handle this edge case by not doing anything with such windows. --- tiling.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tiling.js b/tiling.js index a4da076..223e7a8 100644 --- a/tiling.js +++ b/tiling.js @@ -2144,6 +2144,10 @@ function insertWindow(metaWindow, {existing}) { if (metaWindow.is_on_all_workspaces()) { // Only connect the necessary signals and show windows on shared // secondary monitors. + let space = spaces.spaceOfWindow(metaWindow); + if (space.includes(metaWindow)) { + return; + } connectSizeChanged(); showWindow(metaWindow); return;