From 414a0764107377fe5e925ebc1f01d563fe7ca977 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Wed, 15 Apr 2020 20:02:55 +0200 Subject: [PATCH] Fix focus handling on output cycle --- src/seat.zig | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/seat.zig b/src/seat.zig index d694970..dc25802 100644 --- a/src/seat.zig +++ b/src/seat.zig @@ -65,11 +65,16 @@ pub const Seat = struct { v.current_tags & self.focused_output.current_focused_tags == 0 else true) { - // Set view to the first currently visible view in the focus stack if any - view = if (ViewStack(*View).iterator( + // Set view to the first currently visible view on in the focus stack if any + var it = ViewStack(*View).iterator( self.focus_stack.first, self.focused_output.current_focused_tags, - ).next()) |node| node.view else null; + ); + view = while (it.next()) |node| { + if (node.view.output == self.focused_output) { + break node.view; + } + } else null; } if (self.focused_view) |current_focus| {