summaryrefslogtreecommitdiff
path: root/src/fs-help.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs-help.txt')
-rw-r--r--src/fs-help.txt10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/fs-help.txt b/src/fs-help.txt
index 1e5d64c2..3113590a 100644
--- a/src/fs-help.txt
+++ b/src/fs-help.txt
@@ -8,16 +8,16 @@ exec write a line: a middle click, an editor command word or a shell line
log one line per editor event (new/del/rename/save <serial> <name>); reads wait
screen rendered screen as JSON, frozen from open to close
listeners the session's dial addresses
-pane/ mkdir makes a pane, rmdir <serial> closes it
+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, and pty/ for terminals
+ errors event look exec, and pty/ for terminals; rmdir closes it
os/ the host filesystem
src/ the editor's own sources, only in a -Dembed-sources=true build
Below, $m is the mount point (PARDES_MOUNT in a Tty9p shell; 9ns and 9p work too):
cat $m/index which panes exist
- mkdir $m/pane/x; n=$(awk 'END{print $1}' $m/index) make a pane, take its serial
+ n=$(cat $m/pane/new) make a pane, take its serial
echo /etc/hosts:3 > $m/look; cat $m/look open a file, see the pane it went to
printf 'text\n' > $m/pane/$n/body append to a pane (>| truncates first)
cat $m/pane/$n/name; echo notes.txt > $m/pane/$n/name read, then rename
@@ -31,8 +31,8 @@ Below, $m is the mount point (PARDES_MOUNT in a Tty9p shell; 9ns and 9p work too
echo exec > $m/pane/$n/pty/ctl restart a shell; also winsize C R, sig INT
Pitfalls, one each:
- Only mkdir in pane/ makes a pane; ls, stat, find and every read create nothing.
- Panes are named by the serial the editor gives them, not by the name mkdir asked for.
+ Each open of pane/new makes another pane; two reads of one fid name the same one.
+ Only that open creates: ls, stat, find and every other read leave the tree alone.
rmdir closes a pane even when it is dirty; index and pane/<n>/dirty show the flag.
addr, dot and limit read the same pair of offsets they take, so cp between them works.
dirty, mark and scroll read "0" or "1" and take "0" or "1"; truncating limit lifts it.