summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index ca7f9b69..37ec97d5 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -865,6 +865,14 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) {
}
g_pInputManager->recheckIdleInhibitorStatus();
+
+ // move to front of the window history
+ const auto HISTORYPIVOT = std::find_if(m_vWindowFocusHistory.begin(), m_vWindowFocusHistory.end(), [&](const auto& other) { return other == pWindow; });
+ if (HISTORYPIVOT == m_vWindowFocusHistory.end()) {
+ Debug::log(ERR, "BUG THIS: Window %x has no pivot in history", pWindow);
+ } else {
+ std::rotate(m_vWindowFocusHistory.begin(), HISTORYPIVOT, HISTORYPIVOT + 1);
+ }
}
void CCompositor::focusSurface(wlr_surface* pSurface, CWindow* pWindowOwner) {