summaryrefslogtreecommitdiff
path: root/src/detached/client.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-15 16:28:57 -0300
committerGabriel Schneider <[email protected]>2026-09-15 17:24:42 -0300
commit1ab4c071be58033d5452f69797ca8e2c32240cff (patch)
treeafa108a1c372276da1d2c62b6c05d8f167cc81b8 /src/detached/client.zig
parentc6ab9db0fdbcb8d16f666749194bb111218b96a8 (diff)
downloadpardes-1ab4c071be58033d5452f69797ca8e2c32240cff.tar.gz
pardes-1ab4c071be58033d5452f69797ca8e2c32240cff.zip
Separate tag text geometry from physical pane grips
Diffstat (limited to 'src/detached/client.zig')
-rw-r--r--src/detached/client.zig4
1 files changed, 3 insertions, 1 deletions
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)),
};