From 08a0423b78b1d5493b616fa240fd5babb7eb5491 Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Wed, 15 Jan 2025 08:33:48 +1100 Subject: [PATCH 1/2] fix: building on systems with older adwaita --- src/apprt/gtk/Window.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 3e972ca02..10af25101 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -410,7 +410,7 @@ pub fn syncAppearance(self: *Window, config: *const configpkg.Config) !void { // Disable the title buttons (close, maximize, minimize, ...) // *inside* the tab overview if CSDs are disabled. // We do spare the search button, though. - if ((comptime adwaita.versionAtLeast(0, 0, 0)) and + if ((comptime adwaita.versionAtLeast(1, 4, 0)) and adwaita.enabled(&self.app.config)) { if (self.tab_overview) |tab_overview| { From f5670d81d4365afbc3fe818f6bed26fa4122e5eb Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 14 Jan 2025 15:40:43 -0800 Subject: [PATCH 2/2] config: fix window-decoration enum parsing to allow client, none --- src/config/Config.zig | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 6ae8a353e..4aba8ce32 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -5921,13 +5921,13 @@ pub const WindowDecoration = enum { server, none, - pub fn parseCLI(input: ?[]const u8) !WindowDecoration { - const input_ = input orelse return .client; + pub fn parseCLI(input_: ?[]const u8) !WindowDecoration { + const input = input_ orelse return .client; - return if (cli.args.parseBool(input_)) |b| + return if (cli.args.parseBool(input)) |b| if (b) .client else .none - else |_| if (std.mem.eql(u8, input_, "server")) - .server + else |_| if (std.meta.stringToEnum(WindowDecoration, input)) |v| + v else error.InvalidValue; } @@ -5964,6 +5964,14 @@ pub const WindowDecoration = enum { const v = try WindowDecoration.parseCLI("server"); try testing.expectEqual(WindowDecoration.server, v); } + { + const v = try WindowDecoration.parseCLI("client"); + try testing.expectEqual(WindowDecoration.client, v); + } + { + const v = try WindowDecoration.parseCLI("none"); + try testing.expectEqual(WindowDecoration.none, v); + } { try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("")); try testing.expectError(error.InvalidValue, WindowDecoration.parseCLI("aaaa"));