diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-11-19 16:41:36 +0000 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-11-19 16:41:41 +0000 |
| commit | e427d9f622d852c20d0f24966dbe35a34f600de4 (patch) | |
| tree | 1e578faff6773b5d0d35c03f25214a298a73b982 /src/Compositor.cpp | |
| parent | f88feec02b362fd1a43c6760ef37af1e1c58cafd (diff) | |
unify setting of the active monitor
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index e6a39c7b..f698f05a 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1874,7 +1874,7 @@ void CCompositor::warpCursorTo(const Vector2D& pos) { const auto PMONITORNEW = getMonitorFromVector(pos); if (PMONITORNEW != m_pLastMonitor) - m_pLastMonitor = PMONITORNEW; + setActiveMonitor(PMONITORNEW); } SLayerSurface* CCompositor::getLayerSurfaceFromWlr(wlr_layer_surface_v1* pLS) { @@ -1987,3 +1987,13 @@ CWorkspace* CCompositor::createNewWorkspace(const int& id, const int& monid, con return PWORKSPACE; } + +void CCompositor::setActiveMonitor(CMonitor* pMonitor) { + if (m_pLastMonitor == pMonitor) + return; + + const auto PWORKSPACE = getWorkspaceByID(pMonitor->activeWorkspace); + + g_pEventManager->postEvent(SHyprIPCEvent{"focusedmon", pMonitor->szName + "," + PWORKSPACE->m_szName}); + m_pLastMonitor = pMonitor; +} |
