diff options
-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; |