From 4974ffb4b16bed4bd8e98fd52484cb2a2cfb095e Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Mon, 9 Feb 2026 15:20:10 -0500 Subject: display: Use global MRU list for switch-windows-all When using switch-windows-all to cycle through windows across all workspaces, marco was grouping windows by workspace rather than using a global MRU (most-recently-used) list. This caused several issues: - Sticky windows appeared multiple times, once per workspace - Window order was confusing (since they were grouped by workspace number) - Behavior was different from other window managers Fixed by collecting all windows, sorting them by recency, then building the tab list from this global list. Fixes #286 --- src/core/window.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/core/window.c') diff --git a/src/core/window.c b/src/core/window.c index 134cf7bb..cdf7ab3b 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -8839,6 +8839,12 @@ meta_window_set_user_time (MetaWindow *window, } } +guint32 +meta_window_get_user_time (MetaWindow *window) +{ + return window->net_wm_user_time; +} + /* Sets the demands_attention hint on a window, but only * if it's at least partially obscured (see #305882). */ -- cgit v1.2.1