From aa10e5160ba9da6c7672a3287d11ae57e4488ff7 Mon Sep 17 00:00:00 2001 From: Paul Berg Date: Mon, 30 Sep 2024 11:02:32 +0200 Subject: [PATCH] cli: handle mouse scroll before setting window --- src/cli/list_themes.zig | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/cli/list_themes.zig b/src/cli/list_themes.zig index 48919116d..99b419801 100644 --- a/src/cli/list_themes.zig +++ b/src/cli/list_themes.zig @@ -502,20 +502,6 @@ const Preview = struct { .height = .{ .limit = win.height }, }); - if (self.filtered.items.len == 0) { - self.current = 0; - self.window = 0; - } else { - const start = self.window; - const end = self.window + theme_list.height - 1; - if (self.current > end) - self.window = self.current - theme_list.height + 1; - if (self.current < start) - self.window = self.current; - if (self.window >= self.filtered.items.len) - self.window = self.filtered.items.len - 1; - } - var highlight: ?usize = null; if (self.mouse) |mouse| { @@ -536,6 +522,20 @@ const Preview = struct { } } + if (self.filtered.items.len == 0) { + self.current = 0; + self.window = 0; + } else { + const start = self.window; + const end = self.window + theme_list.height - 1; + if (self.current > end) + self.window = self.current - theme_list.height + 1; + if (self.current < start) + self.window = self.current; + if (self.window >= self.filtered.items.len) + self.window = self.filtered.items.len - 1; + } + theme_list.fill(.{ .style = self.ui_standard() }); for (0..theme_list.height) |row| {