summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 13:00:06 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commit047a2b50a7ac0162d7ef38f912d41c15a47479c7 (patch)
treea2fb902819402ac11093a23cf5dc72f2bae68f0f /docs
parent6fc9f416938b59b665b1fddc052402770a21cc3f (diff)
downloadpardes-047a2b50a7ac0162d7ef38f912d41c15a47479c7.tar.gz
pardes-047a2b50a7ac0162d7ef38f912d41c15a47479c7.zip
A line written to a pane's own look or exec goes to the event reader holding the pane
A script writing to pane/N/exec bypassed the client holding that pane's event file, which a middle click on it would not: acme sends a window's clicks to its event reader (look.c:53, exec.c:173). Such a line is now an F record at 0 0 carrying its text; the root's look and exec still act at once. acme takes back only origin, action and range, which a record with no place in the text cannot use, so the whole record as read is taken too, and for an empty range acts on its text. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r--docs/fs.md9
1 files changed, 7 insertions, 2 deletions
diff --git a/docs/fs.md b/docs/fs.md
index f377d32a..ccf06dd1 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -245,8 +245,13 @@ writing it renames the buffer; a relative name resolves against the pane's
directory. `body` appends on write and replaces on truncating open. `sel`
reads the selected text and writing it replaces the selection. `errors`
appends to the directory's `+Errors` pane. Holding `event` open redirects the
-pane's Look and Exec clicks to that client; writing a record back performs the
-action. `ctl` reads acme's window status line — serial, tag length, body
+pane's Look and Exec clicks to that client, and so does a line written to the
+pane's own `look` or `exec`, a click with no place in the text: an `F` record
+at `0 0` carrying the line (the root's `look` and `exec` still act at once);
+writing a record back performs the action. acme takes back only `<origin>
+<action><q0> <q1>`, the text of that range; pardes takes the record whole as
+it was read too, and for an empty range acts on its text, which is how such
+a line is done. `ctl` reads acme's window status line — serial, tag length, body
length, a reserved zero, the dirty flag, the width in cells, the font and the
tab width — followed by rio's `current` or `notcurrent` (rio(4), `wctl`):
whether the pane has the keyboard. It takes the pane's builtins (below),