From 1ab4c071be58033d5452f69797ca8e2c32240cff Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Tue, 15 Sep 2026 16:28:57 -0300 Subject: Separate tag text geometry from physical pane grips --- src/detached/client.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/detached/client.zig') diff --git a/src/detached/client.zig b/src/detached/client.zig index 42404bca..9481cd54 100644 --- a/src/detached/client.zig +++ b/src/detached/client.zig @@ -103,6 +103,7 @@ pub const Client = struct { cursor: ?wire.Cursor = null, pointer_shape: pardes.Surface.PointerShape = .arrow, body_layers: [pardes.MAX_PANES]pardes.BodyLayer = @splat(.{}), + tag_layers: [pardes.MAX_TAG_LAYERS]pardes.TagLayer = @splat(.{}), in: std.ArrayListUnmanaged(u8) = .empty, out: std.ArrayListUnmanaged(u8) = .empty, /// Bytes of `in` belonging to the message `next` returned last. Compacted at @@ -179,6 +180,7 @@ pub const Client = struct { c.gpa.free(layer.cells); layer.* = .{}; } + for (&c.tag_layers) |*layer| c.gpa.free(layer.cells); c.in.deinit(c.gpa); c.out.deinit(c.gpa); } @@ -316,7 +318,7 @@ pub const Client = struct { try c.reshape(f.cols, f.rows); } try f.apply(c.grid.items); - f.applyLayers(c.gpa, &c.body_layers) catch |err| return switch (err) { + f.applyLayers(c.gpa, &c.body_layers, &c.tag_layers) catch |err| return switch (err) { error.OutOfMemory => error.Closed, else => @as(wire.Error, @errorCast(err)), }; -- cgit v1.3