summaryrefslogtreecommitdiff
path: root/docs/config.md
blob: cba7e5fc0f20973cb61dbfc6b711ebbe7e428743 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Startup configuration

Native pardes builds read a per-user `pardes` file before the first frame:

- Unix: `$XDG_CONFIG_HOME/pardes`, falling back to `~/.config/pardes`.
- macOS: `$XDG_CONFIG_HOME/pardes` when that variable is set, otherwise
  `~/Library/Application Support/pardes`.
- Windows: `%LOCALAPPDATA%\pardes`, with `%USERPROFILE%\AppData\Local\pardes`
  as the fallback.

The browser build has no local user-config path and does not load this file.

The format is one existing builtin command per line, using the same spelling
and argument parsing as commands executed inside pardes:

```text
Theme acme
Font DejaVuSansMono-Regular
```

On the SDL GUI, a selected face falls back to embedded Adwaita Mono, then to
installed `NotoSansMono-Regular`, `DejaVuSansMono`,
`SymbolsNerdFont-Regular`, `NotoSansSymbols2-Regular`,
`NotoSansSymbols-Regular`, and `DejaVuSans`, in that order. Missing entries are
skipped. Faces are discovered and opened once at startup, and each resolved
glyph is retained in the GPU atlas cache.

Blank, unknown, malformed, or unsuccessful lines are ignored silently, and a
bad line does not prevent later lines from running. Top-level text that is not
a builtin is not sent to a shell. (`Exec ...` remains an ordinary builtin and
therefore keeps its normal behavior.) Key bindings remain compile-time choices
in `src/config.zig`; this startup file does not remap them.