git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit4ceea93bbd6fa4c7caffe0fb827c781ee648f70c
parent0ef1ee235b
authorLucas Galante <[email protected]>
date2026-06-25 08:14
Sort visible windows stably by SlotMap key index during focus cycle actions

 src/server/window_manager.rs | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/server/window_manager.rs b/src/server/window_manager.rs
index a5302d6..c889ee4 100644
--- a/src/server/window_manager.rs
+++ b/src/server/window_manager.rs
@@ -1412,6 +1412,8 @@ fn get_closest_tag(x: f64, y: f64) -> i32 {
                         curr = next;
                     }
 
+                    visible_windows.sort_by_key(|&w| unsafe { (*w).ref_key.index });
+
                     let n = visible_windows.len();
                     if n > 0 {
                         let current_idx = visible_windows.iter().position(|&w| w == focused_win);