fix silent workspaces with back and forth

This commit is contained in:
vaxerski 2022-08-26 00:19:57 +02:00
parent 7b01c3d028
commit 0eb86f4b0d

View file

@ -551,7 +551,8 @@ void CKeybindManager::changeworkspace(std::string args) {
static auto *const PBACKANDFORTH = &g_pConfigManager->getConfigValuePtr("binds:workspace_back_and_forth")->intValue;
if (*PBACKANDFORTH
&& PCURRENTWORKSPACE->m_iID == workspaceToChangeTo
&& PCURRENTWORKSPACE->m_iPrevWorkspaceID != -1) {
&& PCURRENTWORKSPACE->m_iPrevWorkspaceID != -1
&& !internal) {
workspaceToChangeTo = PCURRENTWORKSPACE->m_iPrevWorkspaceID;
isSwitchingToPrevious = true;
@ -576,7 +577,7 @@ void CKeybindManager::changeworkspace(std::string args) {
const auto PWORKSPACETOCHANGETO = g_pCompositor->getWorkspaceByID(workspaceToChangeTo);
if (!isSwitchingToPrevious)
if (!isSwitchingToPrevious && !internal)
// Remember previous workspace.
PWORKSPACETOCHANGETO->m_iPrevWorkspaceID = g_pCompositor->m_pLastMonitor->activeWorkspace;