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 /config → Appearance → Theme.

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)
catppuccin-mochaCatppuccin Mocha
draculaDracula
gruvbox-darkGruvbox Dark
monochrome-darkMonochrome Dark
monochrome-lightMonochrome Light
nordNord
one-half-darkOne Half Dark
one-half-lightOne Half 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 (solarized-dark.json → solarized-dark). Each file should include background, foreground, the eight normal colors (black … white), the eight bright colors (brightBlack … brightWhite), 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 or dracula.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 a built-in id from the table above, or 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.