summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
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;
+}