From 142edfe33658afb3dcaf5fd8efc5713bee9a8db4 Mon Sep 17 00:00:00 2001 From: Jose Maranan Date: Thu, 28 Oct 2021 11:13:52 -0400 Subject: [PATCH] fix: update make above for swaps --- tree.js | 15 +++++++++++++++ window.js | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tree.js b/tree.js index f250ebc..ed49c45 100644 --- a/tree.js +++ b/tree.js @@ -961,6 +961,7 @@ var Tree = GObject.registerClass( if (parentForTo && parentForFrom) { let nextIndex = toNode.index; let focusIndex = fromNode.index; + parentForTo.childNodes[nextIndex] = fromNode; fromNode.parentNode = parentForTo; parentForFrom.childNodes[focusIndex] = toNode; @@ -968,7 +969,21 @@ var Tree = GObject.registerClass( let percent = fromNode.percent; fromNode.percent = toNode.percent; toNode.percent = percent; + + // Tabbed layout uses make above, update both nodes + if (parentForTo.isTabbedLayout()) { + fromNode.nodeValue.make_above(); + } else { + fromNode.nodeValue.unmake_above(); + } + if (parentForFrom.isTabbedLayout()) { + toNode.nodeValue.make_above(); + } else { + toNode.nodeValue.unmake_above(); + } + if (focus) { + // The fromNode is now on the parent-target fromNode.nodeValue.raise(); fromNode.nodeValue.focus(global.get_current_time()); } diff --git a/window.js b/window.js index dceafa8..ae46946 100644 --- a/window.js +++ b/window.js @@ -436,9 +436,9 @@ var WindowManager = GObject.registerClass( let swapDirection = Utils.resolveDirection(action.direction); this.tree.swap(focusNodeWindow, swapDirection); focusNodeWindow.nodeValue.raise(); - this.renderTree("swap"); this.updateTabbedFocus(focusNodeWindow); this.updateStackedFocus(focusNodeWindow); + this.renderTree("swap"); break; case "Split": if (!focusNodeWindow) return;