diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index a59fbad6..82aa5575 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -337,14 +337,19 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) { if (!g_pCompositor->windowValidMapped(PWINDOW)) return; - g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW); - const auto OLDWORKSPACE = g_pCompositor->getWorkspaceByID(PWINDOW->m_iWorkspaceID); // hack std::string unusedName; const auto WORKSPACEID = getWorkspaceIDFromString(args, unusedName); + if (WORKSPACEID == PWINDOW->m_iWorkspaceID) { + Debug::log(LOG, "Not moving to workspace because it didn't change."); + return; + } + + g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW); + g_pKeybindManager->changeworkspace(args); const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(WORKSPACEID);