diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-01 10:38:43 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-01 10:38:53 +0100 |
| commit | 590fbf808b60baceef3b021050dae4c409121bf5 (patch) | |
| tree | 8039941cfc09a97b911e6d3552afa53d216cee19 /src/managers/KeybindManager.cpp | |
| parent | bbeed21e6211b738b7aef95c0fdecf107bf60f0b (diff) | |
send a focusedmon event on focus change mon
Diffstat (limited to 'src/managers/KeybindManager.cpp')
| -rw-r--r-- | src/managers/KeybindManager.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index ae0dff0f..df079412 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -987,7 +987,15 @@ void CKeybindManager::moveFocusTo(std::string args) { g_pCompositor->focusWindow(PWINDOWTOCHANGETO); Vector2D middle = PWINDOWTOCHANGETO->m_vRealPosition.goalv() + PWINDOWTOCHANGETO->m_vRealSize.goalv() / 2.f; g_pCompositor->warpCursorTo(middle); - g_pCompositor->m_pLastMonitor = g_pCompositor->getMonitorFromID(PWINDOWTOCHANGETO->m_iMonitorID); // update last monitor + + if (PWINDOWTOCHANGETO->m_iMonitorID != g_pCompositor->m_pLastMonitor->ID) { + // event + const auto PNEWMON = g_pCompositor->getMonitorFromID(PWINDOWTOCHANGETO->m_iMonitorID); + const auto PNEWWS = g_pCompositor->getWorkspaceByID(PNEWMON->activeWorkspace); + g_pEventManager->postEvent(SHyprIPCEvent{"focusedmon", PNEWMON->szName + "," + PNEWWS->m_szName}); + + g_pCompositor->m_pLastMonitor = PNEWMON; + } } }; |
