aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2022-09-29 19:46:33 +0100
committervaxerski <[email protected]>2022-09-29 19:46:33 +0100
commitda40bf823f2f307e439f4bd85c405d9e612c2df5 (patch)
tree3e2ec4ced7b2cd903548f6495f2c3092900d188b
parentcaeb0636fa09d3681ac61cc22d8db5a7ddece242 (diff)
downloadHyprland-da40bf823f2f307e439f4bd85c405d9e612c2df5.tar.gz
Hyprland-da40bf823f2f307e439f4bd85c405d9e612c2df5.zip
apply new node data to all group windows on close
-rw-r--r--src/layout/DwindleLayout.cpp11
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;