summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 01:48:39 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit5b11fc35b961eb03c8816bf957bbf8e27a22ae3e (patch)
tree3a0022699f4c92ec86b2249cf3455139809d56a4 /docs/fs.md
parent5b5896965758ff8f2077c8e8e2f0250f580967c3 (diff)
downloadpardes-5b11fc35b961eb03c8816bf957bbf8e27a22ae3e.tar.gz
pardes-5b11fc35b961eb03c8816bf957bbf8e27a22ae3e.zip
The workspace tag has /tagexec, every exec file reads back what it touched, and a tag's words log as the session's
/tagexec runs a word as a click in the workspace tag, as col/<serial>/exec does in a column's. A column's exec was write-only; it and /tagexec now read back the serials the last write touched, as /exec does. A click in a tag no longer goes to the focused pane's event reader, and what a word run from a column's ctl or exec or /tagexec says is logged msg -, not against the focused pane. The README, fs.md and the skill say so, and document the answer record. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 0a688039..ad9c97ba 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -110,9 +110,10 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC.
empty|full pane-serials...; then active <serial>: the active column, where
pane/new and a look place a pane next (- when there is none)
/tag the workspace tag; > replaces it, >> appends, one line
+/tagexec write a word: a middle click on it in the workspace tag; read as /exec
/col/<n>/tag the tag of the column with serial n, the same way
/col/<n>/ctl write Delcol, Joincol, New or Tty: each acts on that column, as from its tag
-/col/<n>/exec write a word: a middle click on it in that column's tag; rmdir col/<n> closes
+/col/<n>/exec write a word: a middle click on it in that column's tag; read as /exec; rmdir col/<n> closes
an empty column (a column with panes is refused, ENOTEMPTY)
/pane/new open it to make a pane; the read answers that pane's serial. A session holds
64 panes (16 on the board); at that, every route that would open one -- this
@@ -363,7 +364,10 @@ itself, holding the Enter until the REPL answers the paste), since line by line
wherever it is -- at a `pdb` or `input()` prompt too. Bindings are not dumped, so a Restore leaves none.
The root's pair clicks at the active pane and `/pane/<n>/look` and
-`/pane/<n>/exec` at that pane. Blank lines are skipped, and every other line
+`/pane/<n>/exec` at that pane; `/tagexec` and `/col/<n>/exec` click in the
+workspace's or that column's tag (never an event reader's, which hears
+only its pane's), and what the word says is logged as the session's,
+`msg -`. Blank lines are skipped, and every other line
is checked before any of them runs, so a control character fails the whole
write with EINVAL; a command that fails inside the editor is reported on the
message row, not as a write error. Reading any of these files answers the
@@ -576,6 +580,8 @@ it runs `ls` once at its first prompt, a greeting that shows the directory --
since a terminal is named by its directory), `exit <serial> <N>` before
the `del` of a terminal whose shell exited by itself, `ask <serial> <what>
<choices>` when a pane asks a question (answered by `answer` on its ctl),
+`answer <serial> <choice|->` when it is answered, by key or ctl, `-` for
+taken back,
and `save <serial> <name>`,
`dump <path>` when a Dump is written and `restore <path>` in a Restore's
new log after its panes' `new`s, then `restored <old> <new>` for each pane,
@@ -584,7 +590,8 @@ mapping the serial it had to the one it has now, and `restoredcol <old>
for every line the editor says, repeats included (with `verbose` on, that
includes each builtin announcing itself as it runs, on purpose: the log says
which ran; its serial is the pane it ran at, `-` when the keyboard was on a
-column or workspace tag), and `err <serial|->
+column or workspace tag, or the line came to the root's ctl, `/tagexec` or
+a column's ctl or exec), and `err <serial|->
<file>: <why>` for every write or truncation the tree refused or that
failed -- through a mount a shell sees only the errno its kernel mapped the
reply to, usually `Invalid argument`, and this is the reason (`err 3 addr: