From eb3c132fc52a9c02645527ec7b05b09b23112460 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Thu, 13 Oct 2022 15:16:39 +0100 Subject: [PATCH] set workspace name in previous --- src/managers/KeybindManager.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index ba297540..9095ccf8 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -610,16 +610,20 @@ void CKeybindManager::changeworkspace(std::string args) { internal = true; } else if (args.find("previous") == 0) { - const auto PCURRENTWORKSPACE = g_pCompositor->getWorkspaceByID( - g_pCompositor->m_pLastMonitor->activeWorkspace); + const auto PCURRENTWORKSPACE = g_pCompositor->getWorkspaceByID(g_pCompositor->m_pLastMonitor->activeWorkspace); // Do nothing if there's no previous workspace, otherwise switch to it. if (PCURRENTWORKSPACE->m_iPrevWorkspaceID == -1) { Debug::log(LOG, "No previous workspace to change to"); return; - } - else { + } else { workspaceToChangeTo = PCURRENTWORKSPACE->m_iPrevWorkspaceID; + + if (const auto PWORKSPACETOCHANGETO = g_pCompositor->getWorkspaceByID(workspaceToChangeTo); PWORKSPACETOCHANGETO) + workspaceName = PWORKSPACETOCHANGETO->m_szName; + else + workspaceName = std::to_string(workspaceToChangeTo); + isSwitchingToPrevious = true; // If the previous workspace ID isn't reset, cycles can form when continually going