Skip to content

Theme

Parent: Interactive TUI.

Rho can match the host terminal or use a named color theme. Open the picker with /theme, or from /configModels & reasoningTheme.

Default: terminal

The default theme is terminal. Rho samples the host background and standard ANSI color slots at startup (when the host supports that query) and maps them into UI roles:

RoleTypical use
Default textBody copy and ordinary labels
DimMuted chrome, secondary labels, separators
AccentBrand marks, input prompt, focus highlights
Success / warning / errorStatus, confirmations, and failures
Soft panelsUser message and neutral tool backgrounds

Soft panels blend a little of the palette into the background so blocks sit on the same surface as the rest of the TUI.

Built-in themes

These ship with Rho and work offline:

IdName
terminalMatch the host terminal (default)
one-half-darkOne Half Dark
one-half-lightOne Half Light
monochrome-darkMonochrome Dark
monochrome-lightMonochrome Light

Named themes paint Rho's own surface and RGB accents so light and dark schemes stay readable even when the host terminal uses the opposite mode.

Custom themes

Drop Windows Terminal color-scheme JSON files into:

text
~/.rho/themes/

or $RHO_HOME/themes/ when RHO_HOME is set. The file stem is the theme id (dracula.jsondracula). Each file should include background, foreground, the eight normal colors (blackwhite), the eight bright colors (brightBlackbrightWhite), and may include name, cursorColor, and selectionBackground.

That shape matches common catalogs such as iTerm2-Color-Schemes (windowsterminal/*.json) and windowsterminalthemes.dev.

Built-in ids are reserved. A custom file named one-half-dark.json is ignored so it cannot hide the built-in scheme.

Picker and preview

The theme picker lists terminal, built-in, and custom schemes together, sorted by name. Moving the selection previews colors live on the whole UI. Enter saves the choice to config and keeps it. Escape restores the previous theme.

Config

toml
[display]
theme = "terminal" # or one-half-dark, monochrome-light, a custom file stem, ...

Changes from /theme or /config apply immediately and persist in config.toml.

When sampling is unavailable

Some hosts cannot report exact RGB values. With theme = "terminal", Rho falls back to standard ANSI colors and terminal defaults. The match is coarser than a full palette sample. Named themes do not need host sampling.