diff options
| author | Vaxry <vaxry@vaxry.net> | 2025-10-26 13:52:09 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2025-10-26 13:52:09 +0000 |
| commit | 05aa4e1c54da31d95663f9b4bc757e2a6ca65538 (patch) | |
| tree | bfc9a4f456b2057aea7d4417f5acabb1cbc2569d /src/helpers/Monitor.cpp | |
| parent | 748d2f656ee4952090eb4ce8702ee05c82d228cb (diff) | |
compositor: check for monitor layout issues post rule apply
fixes #12108
Diffstat (limited to 'src/helpers/Monitor.cpp')
| -rw-r--r-- | src/helpers/Monitor.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 1ec035fd..ac9c065f 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -344,7 +344,7 @@ void CMonitor::onDisconnect(bool destroy) { g_pEventManager->postEvent(SHyprIPCEvent{"monitorremoved", m_name}); g_pEventManager->postEvent(SHyprIPCEvent{"monitorremovedv2", std::format("{},{},{}", m_id, m_name, m_shortDescription)}); EMIT_HOOK_EVENT("monitorRemoved", m_self.lock()); - g_pCompositor->arrangeMonitors(); + g_pCompositor->scheduleMonitorStateRecheck(); }}; m_frameScheduler.reset(); @@ -955,7 +955,7 @@ bool CMonitor::applyMonitorRule(SMonitorRule* pMonitorRule, bool force) { if (WAS10B != m_enabled10bit || OLDRES != m_pixelSize) g_pHyprOpenGL->destroyMonitorResources(m_self); - g_pCompositor->arrangeMonitors(); + g_pCompositor->scheduleMonitorStateRecheck(); m_damage.setSize(m_transformedSize); @@ -1181,7 +1181,7 @@ void CMonitor::setMirror(const std::string& mirrorOf) { // remove from mvmonitors std::erase_if(g_pCompositor->m_monitors, [&](const auto& other) { return other == m_self; }); - g_pCompositor->arrangeMonitors(); + g_pCompositor->scheduleMonitorStateRecheck(); g_pCompositor->setActiveMonitor(g_pCompositor->m_monitors.front()); |
