summaryrefslogtreecommitdiff
path: root/src/ninep/pane.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-30 20:55:53 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:17 -0300
commitc2a1b54651be6b2532d48825d913b747a0edbea8 (patch)
treebf5c52f352f1b9eea361ef07ffcdbca290668cdc /src/ninep/pane.zig
parent163531dce202e71977f4524cab65702606caca62 (diff)
downloadpardes-c2a1b54651be6b2532d48825d913b747a0edbea8.tar.gz
pardes-c2a1b54651be6b2532d48825d913b747a0edbea8.zip
A pane's tagexec goes to the event reader holding the pane as an x record, as acme's tag clicks do, not run past it
A real click in a held pane's tag was already told to the reader, but the same click written to the pane's tagexec ran at once, so a script holding the pane could not intercept it. The line is now an x record (l for a look), done when the reader writes it back. A column's or the workspace's tag is still no pane's and runs as before. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/ninep/pane.zig')
-rw-r--r--src/ninep/pane.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ninep/pane.zig b/src/ninep/pane.zig
index ce6d0422..d276b771 100644
--- a/src/ninep/pane.zig
+++ b/src/ninep/pane.zig
@@ -580,7 +580,8 @@ pub fn write(p: *Pardes, req: Req, id: usize, pane: *Pane, file: PaneFile) Reply
.sel => writeSel(p, req, pane),
.dirty, .mark, .scroll => writeFlag(p, req, pane, file),
.look, .exec => ctl.command(p, req, pane.serial, file == .exec, false),
- // A click in its tag: never an event reader's to hear (cols.writeExec).
+ // A click in its tag: an event reader holding the pane hears it as
+ // an `x` record (ctl.run), as acme's tag clicks are.
.tagexec => ctl.command(p, req, pane.serial, true, true),
.event => events.writeEvent(p, req, id),
.errors => if (appendErrors(p, id, req.data)) |took|