From bc41d7ec8515723d79cc921454a739d65db69467 Mon Sep 17 00:00:00 2001 From: memchr <118117622+memchr@users.noreply.github.com> Date: Mon, 11 Sep 2023 22:39:24 +0000 Subject: [PATCH] fix: inconsistent behaviour where last workspace was not saved (#3261) --- src/Compositor.cpp | 1 + src/managers/input/Swipe.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 7cdaf54b..e1fb60cb 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -877,6 +877,7 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { // This is to fix incorrect feedback on the focus history. const auto PWORKSPACE = getWorkspaceByID(pWindow->m_iWorkspaceID); PWORKSPACE->m_pLastFocusedWindow = pWindow; + PWORKSPACE->rememberPrevWorkspace(getWorkspaceByID(m_pLastMonitor->activeWorkspace)); const auto PMONITOR = getMonitorFromID(PWORKSPACE->m_iMonitorID); PMONITOR->changeWorkspace(PWORKSPACE, false, true); // changeworkspace already calls focusWindow diff --git a/src/managers/input/Swipe.cpp b/src/managers/input/Swipe.cpp index c1aa42f3..ebed67cd 100644 --- a/src/managers/input/Swipe.cpp +++ b/src/managers/input/Swipe.cpp @@ -165,6 +165,7 @@ void CInputManager::onSwipeEnd(wlr_pointer_swipe_end_event* e) { pSwitchedTo = PWORKSPACER; } + m_sActiveSwipe.pWorkspaceBegin->rememberPrevWorkspace(pSwitchedTo); g_pHyprRenderer->damageMonitor(m_sActiveSwipe.pMonitor);