diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 553872a5..aa35e3fd 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -949,6 +949,11 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) { POLDWS->m_pLastFocusedWindow = g_pCompositor->getFirstWindowOnWorkspace(POLDWS->m_iID); + if (pWorkspace->m_bIsSpecialWorkspace) + pMonitor->setSpecialWorkspace(pWorkspace); + else if (POLDWS->m_bIsSpecialWorkspace) + g_pCompositor->getMonitorFromID(POLDWS->m_iMonitorID)->setSpecialWorkspace(nullptr); + pMonitor->changeWorkspace(pWorkspace); g_pCompositor->focusWindow(PWINDOW);