summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-19 16:41:36 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-19 16:41:41 +0000
commite427d9f622d852c20d0f24966dbe35a34f600de4 (patch)
tree1e578faff6773b5d0d35c03f25214a298a73b982 /src/Compositor.cpp
parentf88feec02b362fd1a43c6760ef37af1e1c58cafd (diff)
unify setting of the active monitor
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp12
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;
+}