diff --git a/src/Bar.zig b/src/Bar.zig index 1a0fdf1..f62d104 100644 --- a/src/Bar.zig +++ b/src/Bar.zig @@ -260,13 +260,15 @@ fn draw(bar: *Bar) !void { const output = bar.output; var wm_info_buf: [255:0]u8 = undefined; var wm_info_writer = Io.Writer.fixed(&wm_info_buf); - const ratio_percent: u32 = @intFromFloat(@round(output.primary_ratio * 100)); - try wm_info_writer.print("P:{d}/{d}% W:{d}({d})", .{ - output.primary_count, - ratio_percent, - output.countVisible(), - output.windows.length(), - }); + const primary_ratio_percent: u32 = @intFromFloat(@round(output.primary_ratio * 100)); + try wm_info_writer.print("P:{d}/{d}%", .{ output.primary_count, primary_ratio_percent }); + if (output.single_window_ratio != 1) { + const single_window_ratio_percent: u32 = @intFromFloat(@round(output.single_window_ratio * 100)); + try wm_info_writer.print("({d}%)", .{single_window_ratio_percent}); + } + try wm_info_writer.print(" W:{d}({d})", .{ output.countVisible(), output.windows.length() }); + try wm_info_writer.flush(); + const wm_info_codepoints = try utils.utf8ToCodepoints(wm_info_writer.buffered()); defer utils.gpa.free(wm_info_codepoints); diff --git a/src/Output.zig b/src/Output.zig index c0289fb..2fbe5e9 100644 --- a/src/Output.zig +++ b/src/Output.zig @@ -340,6 +340,9 @@ pub fn manage(output: *Output) void { Config.min_primary_ratio, 1.00, ); + if (output.bar) |*bar| { + bar.pending_render.draw = true; + } } if (output.pending_manage.tags) |new_tags| {