From 54a322e1e54792a18fcd1ae4ce7801ab52e6469d Mon Sep 17 00:00:00 2001 From: RadsammyT Date: Sat, 21 Mar 2026 11:31:12 -0400 Subject: [PATCH] you didn't see anything... --- out.diff | 119 ------------------------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 out.diff diff --git a/out.diff b/out.diff deleted file mode 100644 index 6c4a6ee..0000000 --- a/out.diff +++ /dev/null @@ -1,119 +0,0 @@ -diff --git a/build.zig b/build.zig -index c53b905..960e649 100644 ---- a/build.zig -+++ b/build.zig -@@ -95,6 +95,9 @@ pub fn build(b: *std.Build) !void { - const run_step = b.step("run", "Run the app"); - run_step.dependOn(&run_cmd.step); - -+ const check_step = b.step("check", "Check for any errors"); -+ check_step.dependOn(&exe.step); -+ - const installexe_step = b.step("installexe", "Install Ly and the selected init system service"); - installexe_step.makeFn = Installer(true).make; - installexe_step.dependOn(b.getInstallStep()); -diff --git a/ly-ui/src/Widget.zig b/ly-ui/src/Widget.zig -index d66fce8..07f76c3 100644 ---- a/ly-ui/src/Widget.zig -+++ b/ly-ui/src/Widget.zig -@@ -12,6 +12,8 @@ const VTable = struct { - calculate_timeout_fn: ?*const fn (ptr: *anyopaque, ctx: *anyopaque) anyerror!?usize, - }; - -+pub var idCounter: u64 = 0; -+ - id: u64, - display_name: []const u8, - keybinds: ?TerminalBuffer.KeybindMap, -@@ -101,8 +103,9 @@ pub fn init( - }; - }; - -+ idCounter += 1; - return .{ -- .id = @intFromPtr(Impl.vtable.draw_fn), -+ .id = idCounter, - .display_name = display_name, - .keybinds = keybinds, - .pointer = pointer, -diff --git a/ly-ui/src/components/Label.zig b/ly-ui/src/components/Label.zig -index 83c651b..86603bb 100644 ---- a/ly-ui/src/components/Label.zig -+++ b/ly-ui/src/components/Label.zig -@@ -8,9 +8,8 @@ const Position = @import("../Position.zig"); - const TerminalBuffer = @import("../TerminalBuffer.zig"); - const Widget = @import("../Widget.zig"); - --lid: u64, // HACK: we need to differenciate between labels in `updateCustomInfo`. -- // The underlying widget ID doesn't have the properties needed. - allocator: ?Allocator, -+instance: ?Widget, - text: []const u8, - max_width: ?usize, - fg: u32, -@@ -32,8 +31,8 @@ pub fn init( - ) Label { - lidCounter += 1; - return .{ -- .lid = lidCounter, - .allocator = null, -+ .instance = null, - .text = text, - .max_width = max_width, - .fg = fg, -@@ -50,7 +49,8 @@ pub fn deinit(self: *Label) void { - } - - pub fn widget(self: *Label) Widget { -- return Widget.init( -+ if (self.instance) |inst| return inst; -+ self.instance = Widget.init( - "Label", - null, - self, -@@ -61,6 +61,7 @@ pub fn widget(self: *Label) Widget { - null, - calculateTimeout, - ); -+ return self.instance.?; // We already created the Widget. - } - - pub fn setTextAlloc( -diff --git a/src/main.zig b/src/main.zig -index c049be2..2428f84 100644 ---- a/src/main.zig -+++ b/src/main.zig -@@ -1084,14 +1084,14 @@ pub fn main() !void { - - var lblIter = custom.labels.iterator(); - while (lblIter.next()) |i| { -- const w = Label.init("", -+ var w = Label.init("", - null, - state.buffer.fg, - state.buffer.bg, - &updateCustomInfo, - null, - ); -- i.value_ptr.id = w.lid; -+ i.value_ptr.id = w.widget().id; - i.value_ptr.counter = 2; - try state.custom_info.append(state.allocator, .{ - .info = i.value_ptr.*, -@@ -1763,7 +1763,7 @@ fn updateClock(self: *Label, ptr: *anyopaque) !void { - - fn updateCustomInfo(lbl: *Label, ptr: *anyopaque) !void { - const state: *UiState = @ptrCast(@alignCast(ptr)); -- const wid = lbl.lid; -+ const wid = lbl.widget().id; - var stdout = std.ArrayList(u8).empty; - defer stdout.deinit(state.allocator); - var stderr = std.ArrayList(u8).empty; -@@ -1925,6 +1925,7 @@ fn positionWidgets(ptr: *anyopaque) !void { - .addY(@intCast(i))); - } - for (state.custom_info.items, 0..) |*item, i| { -+ std.log.info("{s}: {}", .{item.info.name, item.lbl.widget().id}); - item.lbl.positionXY(state.edge_margin - .addY(@intCast(i)) - .invertX(state.buffer.width)