aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-22 18:30:29 +0200
committeruser <user@clank>2026-08-22 18:30:29 +0200
commite015e855f19af29d02688b862701999564e4f46c (patch)
treedf51959ea26ce3282af92334da20759558894aeb /docs
parentslosh: refuse to attach to the session this pane is inside (diff)
downloadslosh-e015e855f19af29d02688b862701999564e4f46c.tar.gz
slosh-e015e855f19af29d02688b862701999564e4f46c.tar.xz
slosh-e015e855f19af29d02688b862701999564e4f46c.zip
docs: fact-check against the loader
splash_ms and the project settings join the knobs table, the pane-state ranking gains the floating it was missing, contrib/themes' seventh file is named for what it is, the shader table's numbers are called examples with the real omitted-value defaults beside them, the index links workspaces, and the verb table learns splash.
Diffstat (limited to 'docs')
-rw-r--r--docs/config.md21
-rw-r--r--docs/index.md1
-rw-r--r--docs/scripting.md1
-rw-r--r--docs/shaders.md4
4 files changed, 17 insertions, 10 deletions
diff --git a/docs/config.md b/docs/config.md
index bbff38d..463a688 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -15,10 +15,11 @@ smaller than that — an unknown shader, a binding that does not parse, an
[`include`](#include) that is not there — applies the rest of the file and says
which line it could not honour.
-Three settings are read later than the rest, because of *when* they are needed:
-`shell` and `scrollback` apply to the next pane you open — shrinking a pane's
-history retroactively would throw away output somebody is reading — and a shader
-plugin that replaced one already loaded needs a new session.
+Three things are read later than the rest, because of *when* they are needed:
+`shell` and the two `scrollback` limits apply to the next pane you open —
+shrinking a pane's history retroactively would throw away output somebody is
+reading — and a shader plugin that replaced one already loaded needs a new
+session.
## Two files worth knowing
@@ -95,15 +96,16 @@ recoloured without also recolouring the focused frame.
Six ready-made themes are in
`contrib/themes`:
-`amber`, `mono`, `paper`, `phosphor`, `sl0p`, `slate`. Include one and put your
-own two lines on top:
+`amber`, `mono`, `paper`, `phosphor`, `sl0p`, `slate` — plus `default`, the
+compiled-in palette written out, so another theme is one include-swap away from
+coming back. Include one and put your own two lines on top:
```kdl
include "~/.config/slosh/themes/phosphor.kdl"
theme { frame_focus "#00ff88" } // ...but that one colour is mine
```
-`contrib/theme-tour` cycles a running session through all six.
+`contrib/theme-tour` cycles a running session through all of them.
## The knobs, briefly
@@ -111,7 +113,8 @@ theme { frame_focus "#00ff88" } // ...but that one colour is mine
|---|---|
| geometry | `gap` `gap_aspect` `padding` `rounded` `title_align` `title_inset` `min_pane` `min_split` |
| chrome | `status_bar` `status_line` `status_pad` `hints` `version_banner` `pane_buttons` `bell_indicator` and the marks (`zoom_mark` `zoom_on_mark` `close_mark` `min_mark` `newtab_mark` `bell_mark`) |
-| behaviour | `focus_follows_mouse` `scroll_lines` `scrollback` `scrollback_bytes` `toast_ms` `hover_delay_ms` `double_click_ms` `word_separators` `anim_ms` `modal_scrim` `dim_unfocused` `float_shadow` `keep_dead` `in_band_shaders` `shell` `editor` `shader_dir` |
+| behaviour | `focus_follows_mouse` `scroll_lines` `scrollback` `scrollback_bytes` `toast_ms` `splash_ms` `hover_delay_ms` `double_click_ms` `word_separators` `anim_ms` `modal_scrim` `dim_unfocused` `float_shadow` `keep_dead` `in_band_shaders` `shell` `editor` `shader_dir` |
+| projects | `project_roots` `project_layout` — see [workspaces](workspaces.md) |
| colour | `theme { }` |
| effects | `shaders { }`, `states { }` — see [shaders](shaders.md) and [chrome](chrome.md) |
| keys | `keys { }` — see [keys](keys.md) |
@@ -197,7 +200,7 @@ states { // ...and the whole table underneath it
```
The full ranking, most urgent first: `dragging`, `drop_hover`, `drop_target`,
-`dead`, `suspended`, `bell`, `scrolled`, `unfocused`. Exactly one wins — the
+`dead`, `suspended`, `bell`, `scrolled`, `floating`, `unfocused`. Exactly one wins — the
first that matches — because two reasons to be grey compound into one muddy grey
that reads as neither. Naming a state replaces its default outright, including
with nothing, which is how you turn one off.
diff --git a/docs/index.md b/docs/index.md
index 4997d09..487c457 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -52,6 +52,7 @@ by name.
- **[Shaders](shaders.md)** — colour passes over a pane's contents.
- **[Chrome shaders](chrome.md)** — the same passes over a pane's frame.
- **[Layouts](layouts.md)** — a session as a file you check in.
+- **[Workspaces](workspaces.md)** — projects on disk, opened by name.
- **[Scripting](scripting.md)** — the control socket, and what a pane can draw.
- **[How it works](design.md)** — the two decisions that shape the rest.
diff --git a/docs/scripting.md b/docs/scripting.md
index 193f46a..ccad91f 100644
--- a/docs/scripting.md
+++ b/docs/scripting.md
@@ -46,6 +46,7 @@ Panes and tabs are addressed by **id**, so a background tab is scriptable.
| `graphics` | the kitty placements on screen, or the bytes sent for them |
| `clipboard` | what the session has copied |
| `reload` | re-read the config; answers `{"ok":true,"warning":...}` if it had a complaint |
+| `splash` | replay the attach greeting; `fx` and `motion` pick the colour effect and the assembly by index, for a deterministic one |
| `edit-config` | open the config in a pane |
| `alive` | is it running, and how many panes and tabs |
| `quit` | end the session |
diff --git a/docs/shaders.md b/docs/shaders.md
index b3c1cc1..ca93f3e 100644
--- a/docs/shaders.md
+++ b/docs/shaders.md
@@ -34,7 +34,9 @@ a word and skipped, never guessed at.
| `margin` | `amount` `at=100` | everything past a column recedes |
| `spotlight` | `amount` `radius=12` | brightness falls away from the cursor |
-`amount` is 0..255 and defaults to 128. Two props belong to the *pass* rather
+`amount` is 0..255 and defaults to 128. The numbers beside the other properties
+are examples rather than defaults: left out, `band` is 1, `radius` is 10, and
+`at` and `direction` are 0. Two props belong to the *pass* rather
than the shader and work on any of them: `where="content"|"chrome"` and
`channel="both"|"fg"|"bg"`.