Configuration
One optional file sets the theme, where models live, and whether a session is logged.
| Status | The file works; the settings in it are few |
|---|---|
| Stability | Adding a key is safe; renaming one is not, so few exist |
Where It Lives
$XDG_CONFIG_HOME/runebender/config.toml, or
~/.config/runebender/config.toml when that variable is unset.
There is no file until you write one, and every key in it is optional.
mkdir -p ~/.config/runebenderprintf 'theme = "gray"\n' > ~/.config/runebender/config.toml What It Sets
theme | Which theme to start in: dark, midnight, gray (the default), light. |
|---|---|
models | Where to look for local models. Defaults to ~/.runebender/models. |
journal | A file to append a record of each edit to. Unset means no journal. |
theme = "gray"
models = "/srv/fonts/models"
journal = "/tmp/runebender.jsonl"The file is read once, before the window opens, so a change takes effect on the next launch.
What Wins
Environment first, then the file, then the built-in default.
A variable set for one run has to beat a setting meant for every run. Otherwise putting one in front of the command would do nothing.
RUNEBENDER_MODELS=./scratch-models runebender-gpui Font.designspace RUNEBENDER_MODELS | Overrides models. |
|---|---|
RUNEBENDER_JOURNAL | Overrides journal. |
XDG_CONFIG_HOME | Moves the file itself. |
When It Is Wrong
A misspelled key or a value of the wrong type is an error. A setting that never took effect should not look like a bug in the editor.
A file that fails to parse is treated as no file at all. Nobody should be locked out of their font by a stray comma. A theme name that does not exist prints a line and starts in the default.
Following a System Theme
Runebender has no code for any particular desktop, and does not need any. The file is four lines of TOML, so anything that can write a file can set the theme.
Omarchy is the useful case, because it already
works this way. It keeps the active theme at ~/.config/omarchy/current/theme, a
symlink its theme switcher repoints. For applications it does not
support directly, it renders templates from
~/.config/omarchy/themed/.
So a template writes this file:
~/.config/omarchy/themed/runebender.toml.tpl -> ~/.config/runebender/config.toml Runebender learns nothing about Omarchy, and Omarchy needs no support for Runebender. Both sides already agree on a file.
Runebender has four themes, so a template maps a system theme onto
the nearest one rather than reproducing its colours. Light desktops
to light or gray, dark ones to dark or midnight.
What Is Not Here
No settings window and no way to change the file from inside the editor. Nothing writes it but you.
Themes are compiled in, so the file names one rather than defining one. See Themes for what a theme decides and how to add one.