summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-05-29 18:11:37 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-05-29 18:11:37 +0200
commita7cfbdb8546831247a232f96a37c2c6589f01391 (patch)
tree07e5efd50f3e8c31b32bccd33ec91fe2112e08e3 /src/managers/KeybindManager.cpp
parent1e3571eb5b00da73f7eb961975c21ceefa2dd366 (diff)
keybinds: fix tryMoveFocusToMonitor with special
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 35c288ec..799a08e6 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -186,13 +186,15 @@ bool CKeybindManager::tryMoveFocusToMonitor(CMonitor* monitor) {
return false;
}
- const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(g_pCompositor->m_pLastMonitor->activeWorkspace);
- const auto PNEWWORKSPACE = g_pCompositor->getWorkspaceByID(monitor->activeWorkspace);
+ const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(g_pCompositor->m_pLastMonitor->activeWorkspace);
+ const auto PNEWMAINWORKSPACE = g_pCompositor->getWorkspaceByID(monitor->activeWorkspace);
g_pCompositor->setActiveMonitor(monitor);
- g_pCompositor->deactivateAllWLRWorkspaces(PNEWWORKSPACE->m_pWlrHandle);
- PNEWWORKSPACE->setActive(true);
- PNEWWORKSPACE->rememberPrevWorkspace(PWORKSPACE);
+ g_pCompositor->deactivateAllWLRWorkspaces(PNEWMAINWORKSPACE->m_pWlrHandle);
+ PNEWMAINWORKSPACE->setActive(true);
+ PNEWMAINWORKSPACE->rememberPrevWorkspace(PWORKSPACE);
+
+ const auto PNEWWORKSPACE = monitor->specialWorkspaceID != 0 ? g_pCompositor->getWorkspaceByID(monitor->specialWorkspaceID) : PNEWMAINWORKSPACE;
const auto PNEWWINDOW = PNEWWORKSPACE->getLastFocusedWindow();
if (PNEWWINDOW) {