summaryrefslogtreecommitdiff
path: root/src/desktop/Window.cpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2025-11-20 16:57:31 +0000
committerGitHub <noreply@github.com>2025-11-20 16:57:31 +0000
commitc249a9f4b8940d7356b756dc639f9cb18713e088 (patch)
tree590c1bd3aaba5217595c3138b566fa7bd8bbf0b9 /src/desktop/Window.cpp
parent00cce1c8ffa1be75dd94de83063d179b45c0831f (diff)
windowrules: fix group rule recalcs (#12403)
Diffstat (limited to 'src/desktop/Window.cpp')
-rw-r--r--src/desktop/Window.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp
index b2712886..6a602748 100644
--- a/src/desktop/Window.cpp
+++ b/src/desktop/Window.cpp
@@ -901,6 +901,8 @@ void CWindow::setGroupCurrent(PHLWINDOW pWindow) {
g_pHyprRenderer->damageWindow(pWindow);
+ pWindow->m_ruleApplicator->propertiesChanged(Desktop::Rule::RULE_PROP_GROUP | Desktop::Rule::RULE_PROP_ON_WORKSPACE);
+ m_ruleApplicator->propertiesChanged(Desktop::Rule::RULE_PROP_GROUP | Desktop::Rule::RULE_PROP_ON_WORKSPACE);
pWindow->updateWindowDecos();
}
@@ -922,6 +924,10 @@ void CWindow::insertWindowToGroup(PHLWINDOW pWindow) {
SHEAD->m_groupData.head = false;
BEGINAT->m_groupData.pNextWindow = SHEAD;
STAIL->m_groupData.pNextWindow = ENDAT;
+
+ pWindow->m_ruleApplicator->propertiesChanged(Desktop::Rule::RULE_PROP_GROUP | Desktop::Rule::RULE_PROP_ON_WORKSPACE);
+ m_ruleApplicator->propertiesChanged(Desktop::Rule::RULE_PROP_GROUP | Desktop::Rule::RULE_PROP_ON_WORKSPACE);
+ pWindow->updateWindowDecos();
}
PHLWINDOW CWindow::getGroupPrevious() {
@@ -954,6 +960,10 @@ void CWindow::switchWithWindowInGroup(PHLWINDOW pWindow) {
std::swap(m_groupData.head, pWindow->m_groupData.head);
std::swap(m_groupData.locked, pWindow->m_groupData.locked);
+
+ pWindow->m_ruleApplicator->propertiesChanged(Desktop::Rule::RULE_PROP_GROUP | Desktop::Rule::RULE_PROP_ON_WORKSPACE);
+ m_ruleApplicator->propertiesChanged(Desktop::Rule::RULE_PROP_GROUP | Desktop::Rule::RULE_PROP_ON_WORKSPACE);
+ pWindow->updateWindowDecos();
}
void CWindow::updateGroupOutputs() {