Theming
Selecting a Theme
Set the theme in your config.toml:
[colors]
scheme = "catppuccin-mocha" The change takes effect immediately via hot-reload.
Light / Dark Auto-Switch
The theme field selects how the scheme reacts to system appearance:
[colors]
scheme = "catppuccin-mocha"
theme = "auto" # "auto" follows system appearance; "dark" or "light" forces When set to "auto" ori-term follows your OS light/dark setting; toggling light/dark mode on your OS triggers a hot-reload.
Custom Themes
Override colors directly in [colors], or override individual ANSI palette indices via [colors.indexed]:
[colors]
scheme = "catppuccin-mocha" # base scheme
foreground = "#cdd6f4" # override foreground
background = "#1e1e2e"
cursor = "#f5e0dc"
selection_foreground = "#1e1e2e"
selection_background = "#f5e0dc"
# Override individual ANSI colors 0-7 by string-keyed index:
[colors.indexed]
"0" = "#1e1e2e"
"1" = "#f38ba8"
"2" = "#a6e3a1" Loading a custom scheme from a TOML file in ~/.config/ori-term/themes/ is on the roadmap; today, palette overrides live inline in the main config.toml.
Color Slots
Every theme defines these color slots:
- foreground — Default text color
- background — Terminal background
- cursor — Cursor color
- selection_bg / selection_fg — Selected text colors
- normal — 8 standard ANSI colors (0-7)
- bright — 8 bright ANSI colors (8-15)
Importing Themes
Converter scripts that ship with the source tree read scheme files from other terminals and emit ori-term TOML on stdout:
- iTerm2 —
.itermcolorsXML files - Ghostty — Ghostty theme format
- base16 — base16 YAML/JSON schemes
Pipe the converter output into config.toml or save it as a separate scheme file. Direct in-app import is on the roadmap; today the conversion is a build-time step.