summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/fs.md16
1 files changed, 15 insertions, 1 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 89a513e8..5f382e7e 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -92,7 +92,7 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC.
```
/README this guide, also src/fs-help.txt
-/index one line per pane: serial, kind (text|term|pdf|image), dirty flag, name
+/index one line per pane: serial, kind (text|term|pdf|image), dirty flag, name, column
/status pid, version and pane count
/look write a line: a right click on it at the active pane; read: the serials the last
look, exec or ctl write touched (made, else acted at)
@@ -105,6 +105,10 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC.
/focus the serial of the pane with the keyboard; write a serial to give it the keyboard
/ctl the settings, one a line as a write takes them; write a setting or a session builtin
/commands every builtin: word, `arg` if it takes one, `root` or `pane` (the ctl that takes it), a setting's values
+/layout one line per column: index x width current|notcurrent empty|full serials...;
+ then active <index> (- when no column has the keyboard)
+/tag the workspace tag; > replaces it, >> appends, one line
+/col/<n>/tag column n's tag, the same way; columns count from 0, left to right
/pane/new open it to make a pane; the read answers that pane's serial
/pane/<n>/ name body tag ctl addr dot limit data xdata sel dirty mark scroll
errors event look exec, plus pty/{ctl,status,data} on terminals
@@ -112,6 +116,16 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC.
/src/ the editor's embedded sources, only when built with -Dembed-sources=true
```
+`/layout`, `/tag` and `/col` go past acme, which serves no column files --
+its columns are only where a window sits. They are here so a script can see
+where the panes are (`/index`'s last word is each one's column, the same
+index) and edit the tags a person clicks in: a column tag is one line, a
+newline written into it a space, and a truncating write (`echo Make >
+col/0/tag`) clears it and drops the newline that ends it, as a pane tag's
+does. A column is named by its index, so the columns right of one that
+closes move down one; the log says `newcol <n>` and `delcol <n>` as they come
+and go, with /layout to read again.
+
Control messages are split by what they act on, as acme keeps window verbs
on a window's ctl and webfs and upas/fs keep session settings on a root ctl.
Each builtin declares its scope in src/builtins.zig (`scope = .session`;