summaryrefslogtreecommitdiff
path: root/docs/config.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-11 12:38:56 -0300
committerGabriel Schneider <[email protected]>2026-09-15 17:24:42 -0300
commit682e237df7e8b22f820d14a4adee58e6e2f84268 (patch)
tree5d888cb46f1a49e89fc55e2a4c232d3af0265b1d /docs/config.md
parent6878e1c309172d624c0d7a3555f6f0217ae6770e (diff)
downloadpardes-682e237df7e8b22f820d14a4adee58e6e2f84268.tar.gz
pardes-682e237df7e8b22f820d14a4adee58e6e2f84268.zip
trunk: resume before the Reload experiment
Empty marker on the last pre-Reload change. Keep the Reload experiment on reload (3801914), its first change on reload-start (200a1fc), and the unfinished performance investigation on reload-perf-wip.
Diffstat (limited to 'docs/config.md')
-rw-r--r--docs/config.md68
1 files changed, 60 insertions, 8 deletions
diff --git a/docs/config.md b/docs/config.md
index 0a6765b8..79a5e631 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -23,7 +23,7 @@ which `Config` reports as `no per-user config path`.
`Config` (`SPC f c`, or the word executed anywhere) opens one refreshable
`+Config` pane. It reports the startup path and every live config-like value:
-theme, colors, wrapping, tag position, debug mode, the requested shell and the
+theme, colors, focus tint, syntax weight, wrapping, tag position, debug mode, the requested shell and the
executable actually resolved at the last spawn, requested/effective GUI font
and size, tagline scale, panel transition,
scene effects, hover delay, platform, native-image support, and (on SDL) whether
@@ -65,7 +65,7 @@ The format is one existing builtin command per line, using the same spelling
and argument parsing as commands executed inside pardes:
```text
-Theme acme
+Theme orchard
Font DejaVuSansMono-Regular
TaglineSize 82
Shell zsh
@@ -83,7 +83,7 @@ everything after the name as the argument. On a native build that is `Theme`,
(`Peek`, `Poke`, `Hexdump` and `Gpio` take one too, but they exist only where
`builtins.Board.enabled` holds, and that build has no config file.)
-`Theme <name>` wants one of the 228 names in the ring. Do not derive the
+`Theme <name>` wants one of the names in the compiled ring. Do not derive the
spelling — read it off `ThemeSel` (`SPC t t`), which lists every one as the
exact `Theme <name>` line that selects it. `slug` in `tools/gen_themes.zig`
lowercases, folds punctuation runs to a single `_` and then TRIMS leading and
@@ -94,6 +94,28 @@ and `ayu_mirage` is helix's `ayu_mirage.toml`. The suffix goes on all of them
rather than only the eight that clash today, so a name cannot move when either
project gains or loses a file. A name that is not in the ring is ignored.
+The fifteen [native Pardes themes](themes.md) lead the ring: `orchard` (the
+default), `dusk`, `ink`, `paper`, `daybreak`, `atelier`, `forge`, `lagoon`,
+`solarium`, `spectrum`, `harvest`, `clay`, `forge_black`, `forge_soft`, and
+`orchard_black`. `ThemeSel` lists them first under Pardes themes, followed by
+a separate legacy/imported section. They add coordinated
+focus, search, diagnostic and terminal colors; `ink` and `daybreak` are high
+contrast dark and light options. The original `helix`, `dark` and `acme`
+themes and all imported names remain available.
+
+`FocusTint` toggles the focused pane and column tag tints; it is on by default.
+Workspace, column and pane command text can be edited directly; see
+[editable tags](tags.md) for naming and saved-workspace behavior.
+`ColumnTags` toggles the column command row in both GUI and TTY; it is on by
+default. Add `ColumnTags` to startup configuration to reclaim that row on a
+compact screen. Hiding it preserves your custom column commands.
+`SyntaxBold` toggles bold syntax keywords; it is off by default. These
+settings are shared by GUI and TTY, and `Config` reports their current
+states. Like `Colors` and `Wrap`, these commands take no argument and invert
+the current value. A `FocusTint` line in a fresh startup configuration disables
+the tint; a `SyntaxBold` line enables the stronger keyword weight. Those two
+appearance controls leave focus, selections and editing behavior unchanged.
+
## Crash records
A panic appends to `crashes` in that same directory, beside `init`, and only
@@ -172,8 +194,14 @@ format, and it is `pardes.Theme` serialised by `std.zon.stringify`: the theme
name, thirteen required RGB roles (`sel_bg`, `sel_fg`, `tag_bg`, `tag_fg`,
`box`, `box_dim`, `kw`, `str`, `num`, `comment`, `lineno`, `scroll_track`,
`scroll_thumb`), nullable `bg`/`fg`, and either a 16-color RGB `palette` or
-`null`. RGB values are three-byte arrays, and hex literals are accepted. There
-is no inheritance or partial override layer.
+`null`. Nine optional nullable RGB roles extend this format:
+`tag_active_bg`, `tag_active_fg`, `border`, `search_bg`, `search_fg`,
+`diagnostic_error`, `diagnostic_warning`, `diagnostic_info`, and
+`diagnostic_hint`. Missing new roles use backward-compatible defaults, so
+previously exported files remain valid. [Theme customization](themes.md)
+describes each role and its fallback. RGB values are three-byte arrays, and
+hex literals are accepted. The original fields remain required; there is no
+inheritance or partial override layer.
`Filter` in a terminal's tag projects that pane's ANSI colors through the
active theme, and does it in two stages. The default foreground and background
@@ -202,8 +230,24 @@ terminal's font belongs to its emulator and a browser's to the page — so a
resolve the name by walking the font directories on every lookup, so a face
installed a moment ago is findable.
+Use `Font <name>:<size>` to change face and size together, for example
+`Font MartianMono-NrRg:18` in the startup file or an editable tag. Fractional
+sizes such as `:18.5` are supported; the accepted range is 8–72 (pixels in SDL,
+points on macOS). `Font <name>` without a suffix preserves the current size.
+Invalid sizes or unknown faces leave the current font unchanged.
+
+The SDL GUI also has a tiny optional workspace-tag companion: `Pet cat`,
+`Pet frog`, or `Pet off` (the default). Its original pixel sprite walks and
+idles in the trailing blank area of the global tag only. It hides while that
+tag is being edited, when the tag is full, or when the font leaves too little
+room; it never replaces text, receives clicks, or appears in pane/column tags.
+Animation runs at ten steps per second, uses theme ink, and requires no image
+assets or shaders. Put `Pet cat` in the startup configuration to keep it;
+`Pet off` disables the companion and its animation. Other hosts ignore the
+startup command. `Config` reports the current choice in SDL.
+
`Font` is asynchronous at the renderer boundary. `Config` therefore keeps
-requested name/path, pending state, and the effective face/point-or-pixel size
+requested name/path/size, pending state, and the effective face/point-or-pixel size
as separate facts; a failed request never gets reported as the face on screen.
Taglines use a distinct face size in both native GUI renderers. Execute
`TaglineSize <percent>` to change it live, for example `TaglineSize 70`; the
@@ -221,7 +265,8 @@ same compiled percentage to its DOM glyphs but has no runtime setter.
Both native GUIs join the reduced-height global and pane tagline bands with
`gui_topbar_pane_border_px` physical pixels. Set it to zero for a direct join.
`gui_topbar_pane_border_rgb` can pin an RGB color; its default `null` follows
-the active theme's scrollbar-track color. With `Tagbottom` enabled, a tagline
+the theme's `border` role in SDL (falling back to `scroll_track` for older
+themes), and `scroll_track` in the macOS shell. With `Tagbottom` enabled, a tagline
on the final grid row is bottom-aligned so the same unused half-band does not
show beneath it. The rule itself lives in the core
(`pardes.taglineBandOffset`), and the macOS shell reaches it over the C ABI
@@ -270,7 +315,14 @@ PanelScramble
PanelType
```
-All panel transitions start off. Slide uses cubic ease-out and zoom uses an
+All panel transitions start off. To disable one, execute its builtin again:
+`PanelDissolve` turns off an active dissolve, and `PanelAscii` turns off an
+active ASCII transition. `Config` shows the active command under
+`Panel transition`. Remove that command from your startup configuration to
+keep it off after restarting. Executing a different transition enables that
+one instead; these commands are toggles, not an unconditional animation-off command.
+
+Slide uses cubic ease-out and zoom uses an
overshooting ease-out-back. Dissolve and ASCII compare the last successfully
presented grid with the new one. Dissolve switches visually changed cells at
stable noise thresholds.