diff --git a/build.zig.zon b/build.zig.zon index 06199d2c..e0d8f5b2 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -39,8 +39,8 @@ .hash = "zenai-0.0.0-iOY_VDVqBAA3mH3_90Lg7Vz3JK8oD0gIhcete_M9c1UC", }, .isocline = .{ - .url = "git+https://github.com/arrufat/isocline?ref=lightpanda#9967eedbf50059e939c87d139114f1358f5ee040", - .hash = "N-V-__8AAGl3EwD__Ic1Y1TQEdjcogemMskctz2Nff6BbCct", + .url = "git+https://github.com/arrufat/isocline?ref=lightpanda#40563a4aab5edf6ee4b3e58ecaee779d44ec88d3", + .hash = "N-V-__8AAMVuEwBXIAUi9A4H2luOLixx0zzSJvs5iXYzBGpW", }, }, .paths = .{""}, diff --git a/src/agent/Terminal.zig b/src/agent/Terminal.zig index 85dce9ac..2019121d 100644 --- a/src/agent/Terminal.zig +++ b/src/agent/Terminal.zig @@ -1097,8 +1097,8 @@ const right_sep = " ยท "; /// Status bar below the input: a rule, then dimmed segments laid out flush-left /// and flush-right. The content must never exceed the rule width or it wraps -/// onto a second row, which corrupts isocline's resize redraw and leaves stacked -/// rules behind โ€” so segments are dropped lowest-rank first until it fits. +/// onto a second row, which reflows on resize and leaves a stray row behind โ€” so +/// segments are dropped lowest-rank first until it fits. /// isocline copies the string, so the temporary buffer is freed here. fn writeStatusBar(self: *Terminal, segments: []const StatusSegment) void { const a = self.allocator; @@ -1107,16 +1107,11 @@ fn writeStatusBar(self: *Terminal, segments: []const StatusSegment) void { var buf: std.ArrayList(u8) = .empty; defer buf.deinit(a); - // a dim full-width rule, shared by both bars + // a dim full-width rule above the status segments buf.appendSlice(a, "[faint]") catch return; for (0..w) |_| buf.appendSlice(a, "โ”€") catch return; buf.appendSlice(a, "[/]") catch return; - // top bar: just the rule - buf.append(a, 0) catch return; - c.ic_set_top_bar(buf.items.ptr); - _ = buf.pop(); // drop the terminator, keep the rule - // drop the lowest-rank segment until the content fits " " + left + right std.debug.assert(segments.len <= max_segments); var keep = [_]bool{true} ** max_segments;