From 2e586c706125442b044a3ab329135c859fba956f Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 16 Oct 2023 16:18:36 +0200 Subject: build: update to Zig 0.11.0 --- rivertile/main.zig | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'rivertile') diff --git a/rivertile/main.zig b/rivertile/main.zig index 6b9c458..ec6205d 100644 --- a/rivertile/main.zig +++ b/rivertile/main.zig @@ -170,13 +170,13 @@ const Output = struct { return; }; switch (raw_arg[0]) { - '+' => output.main_count +|= @intCast(u31, arg), + '+' => output.main_count +|= @intCast(arg), '-' => { const result = output.main_count +| arg; - if (result >= 1) output.main_count = @intCast(u31, result); + if (result >= 1) output.main_count = @intCast(result); }, else => { - if (arg >= 1) output.main_count = @intCast(u31, arg); + if (arg >= 1) output.main_count = @intCast(arg); }, } }, @@ -198,16 +198,16 @@ const Output = struct { .layout_demand => |ev| { assert(ev.view_count > 0); - const main_count = math.min(output.main_count, @truncate(u31, ev.view_count)); - const secondary_count = @truncate(u31, ev.view_count) -| main_count; + const main_count = @min(output.main_count, ev.view_count); + const secondary_count = saturatingCast(u31, ev.view_count) -| main_count; const usable_width = switch (output.main_location) { - .left, .right => @truncate(u31, ev.usable_width) -| (2 *| outer_padding), - .top, .bottom => @truncate(u31, ev.usable_height) -| (2 *| outer_padding), + .left, .right => saturatingCast(u31, ev.usable_width) -| (2 *| outer_padding), + .top, .bottom => saturatingCast(u31, ev.usable_height) -| (2 *| outer_padding), }; const usable_height = switch (output.main_location) { - .left, .right => @truncate(u31, ev.usable_height) -| (2 *| outer_padding), - .top, .bottom => @truncate(u31, ev.usable_width) -| (2 *| outer_padding), + .left, .right => saturatingCast(u31, ev.usable_height) -| (2 *| outer_padding), + .top, .bottom => saturatingCast(u31, ev.usable_width) -| (2 *| outer_padding), }; // to make things pixel-perfect, we make the first main and first secondary @@ -221,7 +221,7 @@ const Output = struct { var secondary_height_rem: u31 = undefined; if (secondary_count > 0) { - main_width = @floatToInt(u31, output.main_ratio * @intToFloat(f64, usable_width)); + main_width = @intFromFloat(output.main_ratio * @as(f64, @floatFromInt(usable_width))); main_height = usable_height / main_count; main_height_rem = usable_height % main_count; @@ -382,9 +382,9 @@ pub fn main() !void { fn registryListener(registry: *wl.Registry, event: wl.Registry.Event, context: *Context) void { switch (event) { .global => |global| { - if (std.cstr.cmp(global.interface, river.LayoutManagerV3.getInterface().name) == 0) { + if (mem.orderZ(u8, global.interface, river.LayoutManagerV3.getInterface().name) == .eq) { context.layout_manager = registry.bind(global.name, river.LayoutManagerV3, 1) catch return; - } else if (std.cstr.cmp(global.interface, wl.Output.getInterface().name) == 0) { + } else if (mem.orderZ(u8, global.interface, wl.Output.getInterface().name) == .eq) { context.addOutput(registry, global.name) catch |err| fatal("failed to bind output: {}", .{err}); } }, @@ -413,3 +413,7 @@ fn fatalPrintUsage(comptime format: []const u8, args: anytype) noreturn { std.io.getStdErr().writeAll(usage) catch {}; os.exit(1); } + +fn saturatingCast(comptime T: type, x: anytype) T { + return @intCast(math.clamp(x, math.minInt(T), math.maxInt(T))); +} -- cgit v1.2.3