summaryrefslogtreecommitdiff
path: root/src/fs-help.txt
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-14 21:26:47 -0300
committerGabriel Schneider <[email protected]>2026-09-15 17:24:42 -0300
commita624a56e289e4a02a411f83741f0f2c9fc0f0b2e (patch)
treeb87e3ca10dd1c4417112164f792b5da1e26de0a6 /src/fs-help.txt
parent95681ff7017b8a9e4c8f9fa6a7371d1233432f2f (diff)
downloadpardes-a624a56e289e4a02a411f83741f0f2c9fc0f0b2e.tar.gz
pardes-a624a56e289e4a02a411f83741f0f2c9fc0f0b2e.zip
Add Linux Tty9p mounted terminals and forward raw TTY keys
Diffstat (limited to 'src/fs-help.txt')
-rw-r--r--src/fs-help.txt65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/fs-help.txt b/src/fs-help.txt
new file mode 100644
index 00000000..eeb000cc
--- /dev/null
+++ b/src/fs-help.txt
@@ -0,0 +1,65 @@
+Pardes control filesystem
+=========================
+The mount root contains self/ (this editor) and os/ (host files).
+This guide is available as self/README and self/new/README.
+Examples below run inside a Tty9p shell, where PARDES_MOUNT is set.
+
+Explore
+-------
+ ls "$PARDES_MOUNT/self"
+ cat "$PARDES_MOUNT/self/index"
+ ls -l "$PARDES_MOUNT/self/new"
+ ls "$PARDES_MOUNT/self/pane"
+
+index lists panes: serial, tag length, body length, reserved zero,
+modified flag, then tag text. Use the serial in self/pane/<serial>/.
+screen is rendered screen JSON; listeners lists the session addresses.
+cons accepts text to display in the editor.
+
+Create a pane
+-------------
+new/ lists the same files as a scratch pane, plus this README.
+Listing, walking and statting these paths do not create anything.
+OPENING any file except README creates one scratch pane below the active pane.
+Each open creates a separate pane, even if you open the same path again.
+
+ cat "$PARDES_MOUNT/self/new/ctl"
+
+This creates a pane and prints its control information, beginning with its
+serial. Use self/pane/<serial>/ for all subsequent operations on that pane.
+To create a pane and write its initial text in one operation:
+
+ printf 'Hello from the shell\n' > "$PARDES_MOUNT/self/new/body"
+
+Reading all files recursively would open factories and create panes.
+Use ls or stat to inspect them; read README for this guide.
+
+Work with an existing pane
+--------------------------
+Replace <serial> with a number from index or new/ctl:
+
+ cat "$PARDES_MOUNT/self/pane/<serial>/body"
+ printf 'Replacement text\n' > "$PARDES_MOUNT/self/pane/<serial>/body"
+ printf 'More text\n' >> "$PARDES_MOUNT/self/pane/<serial>/body"
+ printf 'name notes.txt\n' > "$PARDES_MOUNT/self/pane/<serial>/ctl"
+
+body buffer text; for terminals, reads history and writes child input
+ tag editable pane tag
+ ctl control information on read; newline-separated commands on write
+ addr address range; write #0,#5 to select the first five bytes
+ data read from addr onward, or replace the range selected by addr
+ xdata read only the range selected by addr; writes replace that range
+ rdsel read the editor selection
+ wrsel replace the editor selection
+ errors write diagnostics
+ event pane interaction events; opening intercepts Look/Exec events
+
+Common ctl commands: name PATH, put (save), get (reload), dot=addr,
+addr=dot, look PATH, del (close, refusing dirty text), delete (force close).
+Reload and force close can discard unsaved changes.
+
+Terminal panes also expose pty/ctl, pty/status and pty/data.
+Writing pty/data sends terminal input; use carriage return to submit a command.
+Reading pty/data streams new output; read body for a history snapshot.
+
+Embedded source files under self/src/ document the complete interface.