summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorthejch <66577496+thejch@users.noreply.github.com>2024-03-24 18:50:41 -0700
committerGitHub <noreply@github.com>2024-03-25 01:50:41 +0000
commit356414639fc06ace7045236ec41d673342981057 (patch)
treeeaddcbda1bdefa8a4202468d0be6fb3e8858b2e0 /src/Compositor.cpp
parent6b28bf563e3b4e5f6631985f24c88e8a8ebaa0d4 (diff)
core: fix missing workspace events during swapping (#5251)
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 9ae1adfb..bf6c4200 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -2053,6 +2053,11 @@ void CCompositor::swapActiveWorkspaces(CMonitor* pMonitorA, CMonitor* pMonitorB)
const auto LASTWIN = pMonitorA->ID == g_pCompositor->m_pLastMonitor->ID ? PWORKSPACEB->getLastFocusedWindow() : PWORKSPACEA->getLastFocusedWindow();
g_pCompositor->focusWindow(LASTWIN ? LASTWIN :
(g_pCompositor->vectorToWindowUnified(g_pInputManager->getMouseCoordsInternal(), RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING)));
+
+ const auto PNEWWORKSPACE = pMonitorA->ID == g_pCompositor->m_pLastMonitor->ID ? PWORKSPACEB : PWORKSPACEA;
+ g_pEventManager->postEvent(SHyprIPCEvent{"workspace", PNEWWORKSPACE->m_szName});
+ g_pEventManager->postEvent(SHyprIPCEvent{"workspacev2", std::format("{},{}", PNEWWORKSPACE->m_iID, PNEWWORKSPACE->m_szName)});
+ EMIT_HOOK_EVENT("workspace", PNEWWORKSPACE);
}
// event