decorations: recalc layout and positioner on add/remove

This commit is contained in:
Vaxry
2023-11-13 16:42:45 +00:00
parent 4d6fa6ed0c
commit 5edb4e4a30
3 changed files with 15 additions and 0 deletions

View File

@@ -95,6 +95,16 @@ void CDecorationPositioner::sanitizeDatas() {
});
}
void CDecorationPositioner::forceRecalcFor(CWindow* pWindow) {
const auto WIT = std::find_if(m_mWindowDatas.begin(), m_mWindowDatas.end(), [&](const auto& other) { return other.first == pWindow; });
if (WIT == m_mWindowDatas.end())
return;
const auto WINDOWDATA = &WIT->second;
WINDOWDATA->needsRecalc = true;
}
void CDecorationPositioner::onWindowUpdate(CWindow* pWindow) {
if (!g_pCompositor->windowExists(pWindow) || !pWindow->m_bIsMapped)
return;