summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 13:09:12 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commit84fca2d6e5f498f2d4384712d49d727a25441d68 (patch)
tree47a6d01ee65c5d631f59bee2f1efc5685ceb95f4 /docs/fs.md
parent047a2b50a7ac0162d7ef38f912d41c15a47479c7 (diff)
downloadpardes-84fca2d6e5f498f2d4384712d49d727a25441d68.tar.gz
pardes-84fca2d6e5f498f2d4384712d49d727a25441d68.zip
A click that takes no text tells the event reader nothing, and click records are tested for their offsets
Dogfooding saw a body right-click reported as ML0 0 2 3 qty. On file panes the offsets were right in every case tried here (a scratch made over 9P and clicked while another pane is active, after a hover, scrolled, soft-wrapped, tab-indented, inside parentheses); the test now holds them. The 0 0 form is a terminal's body, which has no offsets to give (its body is a history snapshot); since the event file now takes a record back whole, such a record can still be written back and done, and the docs say so. What the test did find: a click on whitespace sent an empty record, where acme's look3 and execute return without a word on an empty expansion (look.c:37, exec.c:141). Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/docs/fs.md b/docs/fs.md
index ccf06dd1..65b987d8 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -251,7 +251,10 @@ 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
+a line is done. A click in a file's body carries the offsets of the text it
+took; one in a terminal's body cannot, since that body is a history
+snapshot, and is also at `0 0` with its text. A click that takes no text
+sends nothing, as in acme. `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),