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;
         }