summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-10-01 10:38:43 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-10-01 10:38:53 +0100
commit590fbf808b60baceef3b021050dae4c409121bf5 (patch)
tree8039941cfc09a97b911e6d3552afa53d216cee19 /src/managers/KeybindManager.cpp
parentbbeed21e6211b738b7aef95c0fdecf107bf60f0b (diff)
send a focusedmon event on focus change mon
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp10
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;
+ }
}
};