diff options
| author | user <user@clank> | 2026-08-16 20:09:33 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-16 20:09:33 +0200 |
| commit | 7c4038906a9ee584f24bc935f863500a8394aa12 (patch) | |
| tree | 84583b087d20eee0e477599e3aeb70ae9cf3e559 /docs/scripting.md | |
| parent | sl0ppty: drag a pane onto a tab (diff) | |
| download | slosh-7c4038906a9ee584f24bc935f863500a8394aa12.tar.gz slosh-7c4038906a9ee584f24bc935f863500a8394aa12.tar.xz slosh-7c4038906a9ee584f24bc935f863500a8394aa12.zip | |
sl0ppty: docs that match the program
Audited every page against the source and the binary rather than against my
memory of it. Eight pages changed; the lists were all fine and the *numbers* were
all wrong.
Checked mechanically, and each of these came out complete: all 37 action names,
all 28 control verbs, all 9 shader names, the expression language's 10 variables,
2 constants and 7 functions, the 8 pane states, every knob the dump prints, every
OSC verb, every internal link and anchor, and every page's place in `docs/nav`.
Every fenced `kdl` block was run through `--check`; every `{"cmd":...}` in an
example is a verb that exists.
What was stale:
- **`make` does not build.** The default goal is `help`, so the install block --
`make vendor`, `make`, `make test` -- never produced a binary. It says `make
all` now, timed at 5.5s from clean rather than "about a second".
- **700-odd checks in about eight seconds** is now 1,500-odd in about thirteen,
plus 260 from the C unit tests, which the sentence did not count at all.
- **About 10k lines of C** is 15k. (10,799 of those are neither blank nor a
comment, which is presumably where the old figure came from.)
- **Seven chrome presets** are thirteen, and the six new ones use `sin` and `TAU`
-- so the perimeter section gained the angle idiom it now depends on, and its
"two things fall out of it" became three.
- **`--check`'s example transcript showed two errors nobody can produce any
more**: `bad prefix: C-a` and `bad key: ←`. Both inputs became *valid* -- `C-a`
when the chord parser learned the notation the cheatsheet prints, and `←` when
it learned the arrow glyphs, precisely so a chord copied off the screen parses.
Replaced with a transcript I generated, and a note that the problems go to
stderr, which matters for the pre-commit hook the page suggests.
- **`bell_indicator`** was a real knob documented nowhere.
- **"There is no key for this yet"** about moving a pane between tabs, two commits
after the keys and the drag landed.
- The cheatsheet's `+N more` line, the finder's `C-u`, and `tab_id` in a pane
report were all real and unmentioned.
Verified: the whole suite green, `make docs` builds nine pages, and the changed
pages read correctly in a browser -- including the new transcript and the `>` `<`
row of the key table.
Diffstat (limited to 'docs/scripting.md')
| -rw-r--r-- | docs/scripting.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/scripting.md b/docs/scripting.md index b311a3e..575c1a2 100644 --- a/docs/scripting.md +++ b/docs/scripting.md @@ -20,7 +20,7 @@ Panes and tabs are addressed by **id**, so a background tab is scriptable. | verb | | |---|---| -| `panes` `tabs` | what exists, with ids, rects, titles, purposes, state | +| `panes` `tabs` | what exists, with ids, rects, titles, purposes, state. A pane's `tab_id` is what `move-pane` and `select-tab` want; its `tab` is where that tab sits in the strip | | `snapshot` | the composited screen, as JSON or `format:"text"` | | `deadline` | when the session wants its next frame, in ms, or -1 | | `send` | bytes as if typed, decoded like input (`"data":"\\x01\\\\"`) | @@ -83,8 +83,8 @@ otherwise be answered into a loop, which is exactly what `hello` used to do: `sl0ppty --script` is the whole program without a terminal: commands on stdin, answers on stdout. It is how the test suite works — drive these events, assert -this screen — which is also why the suite is 700-odd real end-to-end checks that -finish in eight seconds. +this screen — which is also why the suite is 1,500-odd real end-to-end checks that +finish in about thirteen seconds. ```bash $ printf '%s\n' '{"cmd":"split","dir":"cols"}' '{"cmd":"snapshot","format":"text"}' \ |
