2zw
0.15.1
ca39307963e67caca152ce119a2550f31a5eb58b
SM <seb.michalk@gmail.com>
2026-01-09 20:05:52 +0000
build.zig | 14 ++++++-------- src/bar.zig | 15 ++++++++------- src/c.zig | 2 +- src/draw.zig | 2 +- src/main.zig | 31 ++++++++++++++++--------------- 5 files changed, 32 insertions(+), 32 deletions(-) diff --git a/build.zig b/build.zig index c387b74..43dcd45 100644 --- a/build.zig +++ b/build.zig @@ -5,9 +5,11 @@ pub fn build(b: *std.Build) void { const optimize = b.standardOptimizeOption(.{}); const exe = b.addExecutable(.{ .name = "2zw", - .root_source_file = b.path("src/main.zig"), - .target = target, - .optimize = optimize, + .root_module = b.createModule(.{ + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, + }), }); exe.linkLibC(); @@ -32,11 +34,7 @@ pub fn build(b: *std.Build) void { const run_step = b.step("run", "Run the app"); run_step.dependOn(&run_cmd.step); - const unit_tests = b.addTest(.{ - .root_source_file = b.path("src/main.zig"), - .target = target, - .optimize = optimize, - }); + const unit_tests = b.addTest(.{ .root_module = exe.root_module }); const run_unit_tests = b.addRunArtifact(unit_tests); const test_step = b.step("test", "Run unit tests"); diff --git a/src/bar.zig b/src/bar.zig index ec89515..f7dcde6 100644 --- a/src/bar.zig +++ b/src/bar.zig @@ -21,7 +21,8 @@ // SOFTWARE. const std = @import("std"); -const C = @import("c.zig"); +const ArrayList = std.array_list.Managed; +const C = @import("c.zig").C; const drawlib = @import("draw.zig"); pub const BarPos = enum { @@ -39,7 +40,7 @@ const ModFn = *const fn (*Mod, std.mem.Allocator, i64) anyerror!void; const Mod = struct { name: []const u8, - text: std.ArrayList(u8), + text: ArrayList(u8), interval_ms: u64, next_update_ms: i64, updater: ModFn, @@ -54,7 +55,7 @@ const Mod = struct { ) Mod { return Mod{ .name = name, - .text = std.ArrayList(u8).init(alloc), + .text = ArrayList(u8).init(alloc), .interval_ms = interval_ms, .next_update_ms = 0, .updater = updater, @@ -96,7 +97,7 @@ pub const Bar = struct { xft: *C.XftDraw, bg: C.ulong, fg: C.XftColor, - mods: std.ArrayList(Mod), + mods: ArrayList(Mod), dirty: bool, pad: c_int, delim: []const u8, @@ -175,7 +176,7 @@ pub const Bar = struct { .xft = xft_draw.?, .bg = bg, .fg = fg, - .mods = std.ArrayList(Mod).init(alloc), + .mods = ArrayList(Mod).init(alloc), .dirty = true, .pad = 8, .delim = delim, @@ -520,10 +521,10 @@ fn winUpd(mod: *Mod, alloc: std.mem.Allocator, _: i64) !void { } } -fn ignoreError(_: ?*C.Display, _: [*c]C.XErrorEvent) callconv(.C) c_int { +fn ignoreError(_: ?*C.Display, _: [*c]C.XErrorEvent) callconv(.c) c_int { return 0; } -fn handleError(_: ?*C.Display, _: [*c]C.XErrorEvent) callconv(.C) c_int { +fn handleError(_: ?*C.Display, _: [*c]C.XErrorEvent) callconv(.c) c_int { return 0; } diff --git a/src/c.zig b/src/c.zig index 7a40427..f4c97f6 100644 --- a/src/c.zig +++ b/src/c.zig @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -pub usingnamespace @cImport({ +pub const C = @cImport({ @cInclude("X11/Xlib.h"); @cInclude("X11/XF86keysym.h"); @cInclude("X11/keysym.h"); diff --git a/src/draw.zig b/src/draw.zig index 114eed8..a8dc52f 100644 --- a/src/draw.zig +++ b/src/draw.zig @@ -21,7 +21,7 @@ // SOFTWARE. const std = @import("std"); -const C = @import("c.zig"); +const C = @import("c.zig").C; pub const Drw = struct { alloc: std.mem.Allocator, diff --git a/src/main.zig b/src/main.zig index 67efe61..3b71331 100644 --- a/src/main.zig +++ b/src/main.zig @@ -21,7 +21,8 @@ // SOFTWARE. const std = @import("std"); -const C = @import("c.zig"); +const ArrayList = std.array_list.Managed; +const C = @import("c.zig").C; const bar_mod = @import("bar.zig"); const posix = std.posix; @@ -55,13 +56,13 @@ const Client = struct { win: C.Window, }; -var cl: std.ArrayList(Client) = undefined; -var hidden: std.ArrayList(Client) = undefined; -var stack: std.ArrayList(C.Window) = undefined; +var cl: ArrayList(Client) = undefined; +var hidden: ArrayList(Client) = undefined; +var stack: ArrayList(C.Window) = undefined; var sel: ?usize = null; -const FOCUS_COL = 0x6699cc; -const NORMAL_COL = 0x333333; +const FOCUS_COL = 0xf2ca30; +const NORMAL_COL = 0x1e1812; const BORDER = 2; const GAP: c_int = 3; const MFACT = 0.6; @@ -70,7 +71,7 @@ var mfact: f32 = MFACT; var nmaster: usize = 1; var keyacts: [256]?*const fn () void = .{null} ** 256; -const user = "seb"; +const user = "smi"; const terminal = "st"; const launcher = "zmen"; @@ -135,7 +136,7 @@ fn act_mfact_inc() void { fn sigchldignore() void { var sa: std.c.Sigaction = .{ .handler = .{ .handler = std.c.SIG.IGN }, - .mask = std.c.empty_sigset, + .mask = posix.sigemptyset(), .flags = 0, }; _ = std.c.sigaction(std.c.SIG.CHLD, &sa, null); @@ -166,7 +167,7 @@ fn restack() void { _ = C.XLowerWindow(display, selected.win); } - var to_lower = std.ArrayList(C.Window).init(alloc); + var to_lower = ArrayList(C.Window).init(alloc); defer to_lower.deinit(); for (cl.items, 0..) |client, idx| { @@ -1052,13 +1053,13 @@ fn spawn(cmd: [*:0]const u8) void { } } -fn xerr(_: ?*C.Display, event: [*c]C.XErrorEvent) callconv(.C) c_int { +fn xerr(_: ?*C.Display, event: [*c]C.XErrorEvent) callconv(.c) c_int { if (@as(*C.XErrorEvent, @ptrCast(event)).error_code == C.BadAccess) std.log.err("another wm running", .{}); return 0; } -fn ignoreerr(_: ?*C.Display, _: [*c]C.XErrorEvent) callconv(.C) c_int { +fn ignoreerr(_: ?*C.Display, _: [*c]C.XErrorEvent) callconv(.c) c_int { return 0; } @@ -1395,9 +1396,9 @@ fn setbar(allocator: std.mem.Allocator, screen: c_int) !void { fn setup(allocator: std.mem.Allocator) !void { errdefer cleanup(); - cl = std.ArrayList(Client).init(allocator); - hidden = std.ArrayList(Client).init(allocator); - stack = std.ArrayList(C.Window).init(allocator); + cl = ArrayList(Client).init(allocator); + hidden = ArrayList(Client).init(allocator); + stack = ArrayList(C.Window).init(allocator); lists = true; display = C.XOpenDisplay(0) orelse { @@ -1522,7 +1523,7 @@ fn run(allocator: std.mem.Allocator) !void { } } if (sleep_ns > 0) { - std.time.sleep(sleep_ns); + std.Thread.sleep(sleep_ns); } continue; }