From 356414639fc06ace7045236ec41d673342981057 Mon Sep 17 00:00:00 2001 From: thejch <66577496+thejch@users.noreply.github.com> Date: Sun, 24 Mar 2024 18:50:41 -0700 Subject: [PATCH] core: fix missing workspace events during swapping (#5251) --- src/Compositor.cpp | 5 +++++ 1 file changed, 5 insertions(+) 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