2zw - X11 Windowmanager
Files | Log | Commits | Refs | README
Author: erikbackman
Date: 2024-02-09
Subject: use c_uint for screen width and height
commit 50120bfa898f5756df7272109c427718f32d1711 Author: erikbackman <erikbackman@users.noreply.github.com> Date: Fri Feb 9 10:32:20 2024 +0100 use c_uint for screen width and height diff --git a/src/main.zig b/src/main.zig index 7d249d3..9931415 100644 --- a/src/main.zig +++ b/src/main.zig @@ -88,8 +88,8 @@ var winY: i32 = 0; var winW: i32 = 0; var winH: i32 = 0; -var screenW: c_int = 0; -var screenH: c_int = 0; +var screenW: c_uint = 0; +var screenH: c_uint = 0; var centerW: c_uint = 2752; var centerH: c_uint = 1400; @@ -129,8 +129,11 @@ fn center(c: *L.Node) void { var attributes: C.XWindowAttributes = undefined; _ = C.XGetWindowAttributes(display, c.data.w, &attributes); - c.data.wx = @divTrunc((screenW - attributes.width), 2); - c.data.wy = @divTrunc((screenH - attributes.height), 2); + const sw: c_int = @intCast(screenW); + const sh: c_int = @intCast(screenH); + + c.data.wx = @divTrunc((sw - attributes.width), 2); + c.data.wy = @divTrunc((sh - attributes.height), 2); c.data.ww = attributes.width; c.data.wh = attributes.height; @@ -351,7 +354,7 @@ fn tileCurrentRight() void { _ = C.XMoveResizeWindow( display, node.data.w, - @divTrunc(screenW, 2) + 2, + @intCast((screenW / 2) + 2), 0, @as(c_uint, @intCast(@divTrunc(screenW, 2))), @intCast(screenH), @@ -360,21 +363,19 @@ fn tileCurrentRight() void { } fn tileAll() void { - var next = list.first; - const count = list.len - 1; - const h: c_uint = @intCast(1440 / count); - var attr: C.XWindowAttributes = undefined; + const vert_split_height: c_uint = @intCast(screenH / (list.len - 1)); + var i: c_uint = 0; + var next = list.first; while (next) |node| : (next = node.next) { if (node.data.w != cursor.?.data.w) { - _ = C.XGetWindowAttributes(display, node.data.w, &attr); _ = C.XMoveResizeWindow( display, node.data.w, 0, - @intCast(i * h), + @intCast(i * vert_split_height), @as(c_uint, @intCast(@divTrunc(screenW, 2) - 2)), - h, + vert_split_height, ); i += 1; }