summaryrefslogtreecommitdiff
path: root/docs/design.typ
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design.typ')
-rw-r--r--docs/design.typ29
1 files changed, 18 insertions, 11 deletions
diff --git a/docs/design.typ b/docs/design.typ
index 4c8956ba..f8f0b05c 100644
--- a/docs/design.typ
+++ b/docs/design.typ
@@ -1492,15 +1492,20 @@ same thread as editing.
== Nested Look
-Pane shells inherit `PARDES_9P`, `PARDES_PANE` (the pane serial), and
-`PARDES_FORWARD_LOOK`. A child launch resolves its OS-relative argument in
-the child's working directory, then writes `look <path>` to the parent's
-`self/pane/<serial>/ctl`. Explicit `/virtual` and `/n` paths resolve in the
-parent. The ordinary filesystem update performs layout and drains host effects.
+Pane shells inherit `PARDES_PID` (the editor's process id), `PARDES_9P` and
+`PARDES_PANE` (the pane serial). The first answers whether the shell is inside
+a pardes at all, the other two answer how to reach it, and they are separate
+because a session whose listener never came up still owns its children. A child
+launch that finds a live `PARDES_PID` and no way to reach it says so instead of
+starting a second editor. Otherwise it resolves its OS-relative argument in the
+child's working directory, then writes `look <path>` to the parent's
+`pane/<serial>/ctl`. Explicit `/virtual` and `/n` paths resolve in the parent.
+The ordinary filesystem update performs layout and drains host effects.
-`--nested` starts a separate editor and disables forwarding from its direct
-pane shells. Its 9P socket remains available for control and plugins. There is
-no executable-name discovery or separate Look listener.
+`--nested` starts a separate editor and withholds `PARDES_PID` from its direct
+pane shells, which is the whole of the opt-out. Its 9P socket remains available
+for control and plugins, so those shells still get `PARDES_9P` and
+`PARDES_PANE`. There is no executable-name discovery or separate Look listener.
Detached frontends use `pardes-detached-<name>.sock` in the same runtime
directory. The shared Unix socket conventions live in `src/9p_io.zig`.
@@ -1928,9 +1933,11 @@ arrives bracketed, as one `paste` event.
staged edits: Enter commits a new buffer save target, Escape cancels, and no
disk rename or write happens until explicit Save. Terminal cwd and image/PDF
status stay generated. Save leads the tail of every pane holding text of its own:
-`Save Tty Del Collapse` for a file or an output buffer,
-`Save Tty Del Togglettymode Filter Collapse` for a terminal, and `Tty Del Collapse`
-for an image. PDFs use `Tty Del PdfSections PdfTint Collapse`, without tint status text.
+`Save Tty Collapse Del` for a file or an output buffer,
+`Tty Save Mode Filter Collapse Del` for a terminal, and `Tty Collapse Del`
+for an image. PDFs use `Tty PdfSections PdfTint Collapse Del`, without tint status text.
+The word that closes the thing is last on every tagline, so overshooting the
+click before it cannot destroy anything.
`Collapse` toggles a pane between its tagline alone and its expanded height;
hidden body contents and running terminals are retained.
An unsaved file has `*` after its name; an image tag