summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/fs.md20
1 files changed, 16 insertions, 4 deletions
diff --git a/docs/fs.md b/docs/fs.md
index a2d8a9b2..f377d32a 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -84,7 +84,8 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC.
/status pid, version and pane count
/look write a line: a right click on it at the active pane; read: the serials it touched
/exec write a line: a middle click; read the same serials
-/log recent events, one a line: new|del|rename|save <serial> <name>, msg <serial|-> <text>;
+/log recent events, one a line: new|del|rename|save <serial> <name>, msg <serial|-> <text>,
+ dump|restore <path>, err <serial|-> <file>: <why>;
write follow to that open to wait for more
/screen rendered screen JSON; frozen per open handle
/listeners the session's dial addresses
@@ -106,8 +107,17 @@ builtins, one a line, at whichever pane has the keyboard as each runs --
`Newcol`, `Dump`, `Mount name dial`, `Theme ink`, `Verbose off`; `Exit`,
which quits the editor as acme's does (it refuses once, naming each pane with
unsaved text, `<name>: Modified (Exit again to discard)`, and a second
-`Exit` with nothing edited since quits, throwing that text away; a scratch under 100 bytes is not asked about; `Restore`, which
-replaces every pane, asks the same first); and `Kill`, which
+`Exit` with nothing edited since quits, throwing that text away; a scratch
+under 100 bytes is not asked about; `Restore`, which replaces every pane,
+asks the same first -- `Dump` writes `pardes-<date>-<time>.zon` in
+`DumpDir` (default `$XDG_DATA_HOME/pardes`, else `~/.local/share/pardes`)
+and logs `dump <path>`, and `Restore` with no path takes the last one; a
+Restore puts a new editor under every client, so the write of it is
+answered and then every connection is hung up, their fids naming the old
+editor's panes: dial again, and the new log names the restored panes and
+`restore <path>`. Keeping connections across it would mean carrying serials
+and opens into the new editor, which acme, whose Load only adds windows,
+never needed); and `Kill`, which
does not quit but stops commands, as acme's does: bare, every command pardes
started, and `Kill make ls`, those whose line begins with one of the words. A
command pardes started is a line it typed into a terminal (a word written to
@@ -333,7 +343,9 @@ an open renders its frame; stat the entry.
`/log` is one ring (64 KiB) that records whether or not anyone reads it:
`new`, `del`, `rename` (a terminal's too, as its shell changes directory,
-since a terminal is named by its directory) and `save <serial> <name>`, and `msg <serial|-> <text>`
+since a terminal is named by its directory) 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, and `msg <serial|-> <text>`
for every line the editor says, repeats included (with `verbose` on, that
includes each builtin announcing itself as it runs), and `err <serial|->
<file>: <why>` for every write or truncation the tree refused or that