diff --git a/src/Compositor.cpp b/src/Compositor.cpp index b0a828ab..5d6d65ec 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -664,8 +664,6 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { focusSurface(PWINDOWSURFACE, pWindow); - m_pLastFocus = PWINDOWSURFACE; - g_pXWaylandManager->activateWindow(pWindow, true); // sets the m_pLastWindow // do pointer focus too diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index fd0194bf..962fea03 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -54,6 +54,7 @@ void CHyprXWaylandManager::activateWindow(CWindow* pWindow, bool activate) { else wlr_xdg_toplevel_set_activated(pWindow->m_uSurface.xdg->toplevel, activate); + g_pCompositor->m_pLastFocus = getWindowSurface(pWindow); g_pCompositor->m_pLastWindow = pWindow; }