Themes
Partial JSON themes for the TUI.
Theme files are plain JSON and deliberately partial. A file can be metadata-only, color-only, spinner-only, syntax-only, or a complete light/dark palette. Missing values inherit from zot's built-in theme for the detected terminal background.
{
"name": "custom-spinner",
"description": "Only changes the busy spinner.",
"spinner_frames": ["◢", "◣", "◤", "◥"],
"spinner_messages": ["working"],
"spinner_interval_ms": 120
}Put user themes in $ZOT_HOME/themes/*.json. Open /settings, select color theme, and zot repaints the running TUI without restarting. Build one visually with the Theme builder.
Extensions can ship themes too. A theme-only extension needs only an extension.json plus theme.json (or themes/theme.json); no executable is required, and zot does not copy the theme into your user theme directory.
Dark-only and light-only themes are valid: if the current terminal mode is missing, zot applies the defined mode's overrides on top of the built-in default for the current mode.