windowrules: fix group rule recalcs (#12403)

This commit is contained in:
Vaxry 2025-11-20 16:57:31 +00:00 committed by GitHub
parent 00cce1c8ff
commit c249a9f4b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 83 additions and 3 deletions

View file

@ -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() {