diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-11 12:38:56 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-15 17:24:42 -0300 |
| commit | 682e237df7e8b22f820d14a4adee58e6e2f84268 (patch) | |
| tree | 5d888cb46f1a49e89fc55e2a4c232d3af0265b1d /docs/config.md | |
| parent | 6878e1c309172d624c0d7a3555f6f0217ae6770e (diff) | |
| download | pardes-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.md | 68 |
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. |
