summaryrefslogtreecommitdiff
path: root/docs/config.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-14 13:55:41 -0300
committerGabriel Schneider <[email protected]>2026-09-15 17:24:42 -0300
commit95681ff7017b8a9e4c8f9fa6a7371d1233432f2f (patch)
tree34787d6bb62944cc778624685387db7376ccf71b /docs/config.md
parent682e237df7e8b22f820d14a4adee58e6e2f84268 (diff)
downloadpardes-95681ff7017b8a9e4c8f9fa6a7371d1233432f2f.tar.gz
pardes-95681ff7017b8a9e4c8f9fa6a7371d1233432f2f.zip
9p: use cloud9 protocol sessions and transports
Diffstat (limited to 'docs/config.md')
-rw-r--r--docs/config.md36
1 files changed, 32 insertions, 4 deletions
diff --git a/docs/config.md b/docs/config.md
index 79a5e631..ff960aac 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -25,15 +25,16 @@ which `Config` reports as `no per-user config path`.
`+Config` pane. It reports the startup path and every live config-like value:
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,
+and size, tagline scale, window opacity, panel transition,
scene effects, hover delay, platform, native-image support, and (on SDL) whether
the executable uses live-built shaders or the paired prebuilt shader snapshot.
Platform-dependent rows say `unsupported` instead of looking like an off or
-empty supported setting. The four fields of `config.Runtime.Capabilities` gate
+empty supported setting. The five fields of `config.Runtime.Capabilities` gate
them and are stated once as plain data in `builtins.capabilities`:
`font_picker` is the SDL GUI and
native macOS only, `scene_shaders` the same two, `panel_transitions` every
-hosted shell, and `tagline_font_size` everything but the TTY and the board. So
+hosted shell, `window_opacity` the SDL GUI only, and `tagline_font_size`
+everything but the TTY and the board. So
the TTY reports Font, TaglineSize and the scene shaders as unsupported; the
browser reports Font, panel transitions and the scene shaders as unsupported,
and its TaglineSize row reads `82% (build-time only)` — tagline font size is
@@ -75,11 +76,12 @@ Wrap
A line matches a builtin whose name takes NO argument only as that whole word:
`Kill` runs, `Kill something` does not. A builtin that takes one
(`takes_arg` in `src/builtins.zig`, or a `settings` row whose action is
-`shell`, `theme`, `font` or `tagline_size` in `config.Runtime.settings`) takes
+`shell`, `theme`, `font`, `tagline_size` or `window_opacity` in `config.Runtime.settings`) takes
everything after the name as the argument. On a native build that is `Theme`,
`ThemeFile`, `Font`, `TaglineSize`, `Shell`, `Save`, `Restore`, `Attach`,
`Mount`, `Unmount`, `Find`, `Grep`, `Rename`, `WsSymbols`, `Look`, `Exec`,
`Msg` and `EffectCode`.
+The SDL GUI also has `WindowOpacity`, which takes one argument.
(`Peek`, `Poke`, `Hexdump` and `Gpio` take one too, but they exist only where
`builtins.Board.enabled` holds, and that build has no config file.)
@@ -116,6 +118,32 @@ 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.
+`WindowOpacity <percent>` controls the opacity of everything in the SDL window
+except text and the cursor, which stay fully opaque. Use `WindowOpacity 85`
+to see the desktop through the editor, or `WindowOpacity 100` to restore full
+opacity (the default). The argument must be a whole number from
+0 through 100; missing or invalid values
+leave the setting unchanged. At zero only text and the cursor remain visible.
+Add the command to `init` to persist it.
+
+The same opacity applies to editor and embedded terminal backgrounds, UI
+chrome, borders, scrollbars, gutters, and images. Overlapping non-text drawing
+does not make those areas more opaque. Regular text, syntax colors, tagline
+text, terminal glyphs, and the cursor keep their normal opacity. This does
+not blend foreground colors into their cell backgrounds. The TTY
+and other non-SDL hosts do not emulate this effect; their `Config` report says
+`WindowOpacity: unsupported`.
+
+On native Wayland, Pardes uses an alpha-capable transparent surface. It does
+not use whole-window opacity protocols such as `wp_alpha_modifier_v1`, because
+those would also fade the text. Presentation uses the existing GPU offscreen
+renderer followed by a readback and SDL renderer upload per presented frame,
+which adds rendering cost. Other SDL drivers can report background transparency
+as unsupported unless their rendering configuration is alpha-capable.
+If the rendering backend cannot apply the request, Pardes reports the error
+and keeps the last successfully applied opacity. `Config` reports the
+percentage and marks a request as pending until the SDL host handles it.
+
## Crash records
A panic appends to `crashes` in that same directory, beside `init`, and only