From ee3196bab89edb2bcdd2359903586bf288c8177f Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Mon, 11 May 2026 21:00:52 +0200 Subject: [PATCH] Fix labels_max_length calculation (closes #984) Signed-off-by: AnErrupTion --- src/main.zig | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main.zig b/src/main.zig index 35239d7..6413935 100644 --- a/src/main.zig +++ b/src/main.zig @@ -380,7 +380,16 @@ pub fn main(init: std.process.Init) !void { // Initialize terminal buffer try state.log_file.info(state.io, "tui", "initializing terminal buffer", .{}); - state.labels_max_length = @max(TerminalBuffer.strWidth(state.lang.login), TerminalBuffer.strWidth(state.lang.password)); + var labels = [_][]const u8{ + state.lang.login, + state.lang.password, + state.lang.wayland, + state.lang.x11, + state.lang.shell, + state.lang.xinitrc, + state.lang.custom, + }; + state.labels_max_length = maxWidths(&labels); var seed: u64 = undefined; state.io.random(std.mem.asBytes(&seed)); // Get a random seed for the PRNG (used by animations) @@ -1333,6 +1342,16 @@ pub fn main(init: std.process.Init) !void { ); } +fn maxWidths(labels: [][]const u8) usize { + var max_width: usize = 0; + + for (labels) |label| { + max_width = @max(max_width, TerminalBuffer.strWidth(label)); + } + + return max_width; +} + fn uiErrorHandler(err: anyerror, ctx: *anyopaque) anyerror!void { var state: *UiState = @ptrCast(@alignCast(ctx));