diff options
author | vaxerski <[email protected]> | 2022-09-29 19:46:33 +0100 |
---|---|---|
committer | vaxerski <[email protected]> | 2022-09-29 19:46:33 +0100 |
commit | da40bf823f2f307e439f4bd85c405d9e612c2df5 (patch) | |
tree | 3e2ec4ced7b2cd903548f6495f2c3092900d188b | |
parent | caeb0636fa09d3681ac61cc22d8db5a7ddece242 (diff) | |
download | Hyprland-da40bf823f2f307e439f4bd85c405d9e612c2df5.tar.gz Hyprland-da40bf823f2f307e439f4bd85c405d9e612c2df5.zip |
apply new node data to all group windows on close
-rw-r--r-- | src/layout/DwindleLayout.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp index 9ded8f95..ba59034c 100644 --- a/src/layout/DwindleLayout.cpp +++ b/src/layout/DwindleLayout.cpp @@ -520,6 +520,17 @@ void CHyprDwindleLayout::onWindowRemovedTiling(CWindow* pWindow) { PSIBLING->size = PPARENT->size; PSIBLING->pParent = PPARENT->pParent; + if (PSIBLING->isGroupMember()) { + // apply to all group members + SDwindleNodeData* current = PSIBLING->pNextGroupMember; + + while (current != PSIBLING) { + current->position = PPARENT->position; + current->size = PPARENT->size; + current = current->pNextGroupMember; + } + } + if (PPARENT->pParent != nullptr) { if (PPARENT->pParent->children[0] == PPARENT) { PPARENT->pParent->children[0] = PSIBLING; |