a73x

f1441c35

docs: Ctrl-\ is documented as a prefix, and the old decision says so

a73x   2026-08-19 17:17

Commit message
docs: Ctrl-\ is documented as a prefix, and the old decision says so

The README's key table and the ssh quick start; the decisions entry that
said "no keybinding layer" is marked superseded rather than rewritten, in
the house style. The wall's own `q`/`Ctrl-\` are left as they read: it
has no prefix layer.

README.md
Old New
@@ -35,7 +35,8 @@ Inside a session:
35 35
36 | Key | Effect | 36 | Key | Effect |
37 |---|---| 37 |---|---|
38 | `Ctrl-\` | detach (session keeps running) | 38 | `Ctrl-\` | command prefix — press it, then a command key |
39 | `Ctrl-\` `d` (or `Ctrl-\` `Ctrl-\`) | detach (session keeps running) |
39 | `Shift+PageUp` / `Shift+PageDown` | scrollback (any other key returns to live) | 40 | `Shift+PageUp` / `Shift+PageDown` | scrollback (any other key returns to live) |
40 41
41 `mux` again reattaches — full TUI screens included. Kill the client with 42 `mux` again reattaches — full TUI screens included. Kill the client with
@@ -47,7 +48,7 @@ Works anywhere ssh works. On the remote host: put `muxd` on PATH, then:
47 48
48 ```sh 49 ```sh
49 ssh HOST 'muxd start' 50 ssh HOST 'muxd start'
50 mux HOST # attach; Ctrl-\ detaches, running it again reattaches 51 mux HOST # attach; Ctrl-\ d detaches, running it again reattaches
51 ``` 52 ```
52 53
53 `muxd start` spawns the daemon detached and waits until it answers, so it 54 `muxd start` spawns the daemon detached and waits until it answers, so it
@@ -68,8 +69,9 @@ cloud API is handing that source a shell. `--via` accepts any command that
68 exposes the daemon's socket on stdio, for custom socket paths or 69 exposes the daemon's socket on stdio, for custom socket paths or
69 transports. 70 transports.
70 71
71 If the link drops, the client reconnects and resumes by itself; `Ctrl-\` 72 If the link drops, the client reconnects and resumes by itself; a bare
72 gives up waiting. 73 `Ctrl-\` gives up waiting — while reconnecting there is no session to
74 command, so it is not a prefix there.
73 75
74 ## Quick start, remote over QUIC 76 ## Quick start, remote over QUIC
75 77
docs/decisions.md
Old New
@@ -67,6 +67,12 @@
67 cap); reads stay blocking and POLLIN-gated, deliberately — see the M6 67 cap); reads stay blocking and POLLIN-gated, deliberately — see the M6
68 section. 68 section.
69 - **Detach chord: Ctrl-\ (0x1c).** No keybinding layer in the prototype. 69 - **Detach chord: Ctrl-\ (0x1c).** No keybinding layer in the prototype.
70 **Superseded** once session commands needed room: in a live session
71 Ctrl-\ is a prefix and the key after it selects the command (`d` or a
72 second Ctrl-\ detach; anything else is dropped with the prefix, which
73 costs nothing — a literal 0x1c never reached the pty). A bare press
74 still aborts a dial or a reconnect, where there is no session to
75 command.
70 - **Render: home + ED(2) full repaint under CSI ?2026 sync.** Wasteful by 76 - **Render: home + ED(2) full repaint under CSI ?2026 sync.** Wasteful by
71 design (deltas are M4); sync-output makes it artifact-free on modern 77 design (deltas are M4); sync-output makes it artifact-free on modern
72 terminals. 78 terminals.