diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-09-29 19:46:33 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-09-29 19:46:33 +0100 |
| commit | da40bf823f2f307e439f4bd85c405d9e612c2df5 (patch) | |
| tree | 3e2ec4ced7b2cd903548f6495f2c3092900d188b /src/layout/DwindleLayout.cpp | |
| parent | caeb0636fa09d3681ac61cc22d8db5a7ddece242 (diff) | |
apply new node data to all group windows on close
Diffstat (limited to 'src/layout/DwindleLayout.cpp')
| -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; |
