diff --git a/lib/extension/window.js b/lib/extension/window.js index 61820e1e..2ab854c8 100644 --- a/lib/extension/window.js +++ b/lib/extension/window.js @@ -1333,7 +1333,7 @@ export class WindowManager extends GObject.Object { focusBorderEnabled && tilingModeEnabled && !nodeWindow.isFloat() && - !maximized && + !maximized() && parentNode.childNodes.length === 1 && (parentNode.isCon() || parentNode.isMonitor()) && !(parentNode.isTabbed() || parentNode.isStacked()) @@ -1358,6 +1358,9 @@ export class WindowManager extends GObject.Object { let rect = metaWindow.get_frame_rect(); + // Just above the focused window, each border above the one before it: the split hint (last) + // shares the focus border's place and would be hidden under it otherwise + let below = metaWindow.get_compositor_private(); borders.forEach((border) => { border.set_size(rect.width + inset * 2, rect.height + inset * 2); border.set_position(rect.x - inset, rect.y - inset); @@ -1365,10 +1368,9 @@ export class WindowManager extends GObject.Object { border.show(); } if (global.window_group && global.window_group.contains(border)) { - // TODO - sort the borders with split border being on top global.window_group.remove_child(border); - // Add the border just above the focused window - global.window_group.insert_child_above(border, metaWindow.get_compositor_private()); + global.window_group.insert_child_above(border, below); + below = border; } }); }