summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 925a7fb7..e23cb500 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -1071,6 +1071,14 @@ void CKeybindManager::changeworkspace(std::string args) {
g_pCompositor->setActiveMonitor(PMONITORWORKSPACEOWNER);
+ if (BISWORKSPACECURRENT) {
+ if (*PALLOWWORKSPACECYCLES)
+ pWorkspaceToChangeTo->rememberPrevWorkspace(PCURRENTWORKSPACE);
+ else if (!EXPLICITPREVIOUS && !*PBACKANDFORTH)
+ pWorkspaceToChangeTo->rememberPrevWorkspace(nullptr);
+ } else
+ pWorkspaceToChangeTo->rememberPrevWorkspace(PCURRENTWORKSPACE);
+
PMONITORWORKSPACEOWNER->changeWorkspace(pWorkspaceToChangeTo, false, true);
if (PMONITOR != PMONITORWORKSPACEOWNER) {
@@ -1083,14 +1091,6 @@ void CKeybindManager::changeworkspace(std::string args) {
g_pCompositor->warpCursorTo(middle);
}
- if (BISWORKSPACECURRENT) {
- if (*PALLOWWORKSPACECYCLES)
- pWorkspaceToChangeTo->rememberPrevWorkspace(PCURRENTWORKSPACE);
- else if (!EXPLICITPREVIOUS && !*PBACKANDFORTH)
- pWorkspaceToChangeTo->rememberPrevWorkspace(nullptr);
- } else
- pWorkspaceToChangeTo->rememberPrevWorkspace(PCURRENTWORKSPACE);
-
if (!g_pInputManager->m_bLastFocusOnLS) {
if (g_pCompositor->m_pLastFocus)
g_pInputManager->sendMotionEventsToFocused();
@@ -1163,13 +1163,13 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
else if (POLDWS->m_bIsSpecialWorkspace)
g_pCompositor->getMonitorFromID(POLDWS->m_iMonitorID)->setSpecialWorkspace(nullptr);
+ if (*PALLOWWORKSPACECYCLES)
+ pWorkspace->rememberPrevWorkspace(POLDWS);
+
pMonitor->changeWorkspace(pWorkspace);
g_pCompositor->focusWindow(PWINDOW);
g_pCompositor->warpCursorTo(PWINDOW->middle());
-
- if (*PALLOWWORKSPACECYCLES)
- pWorkspace->rememberPrevWorkspace(POLDWS);
}
void CKeybindManager::moveActiveToWorkspaceSilent(std::string args) {