Skip to content

Theme

Every color in the overlay is overridable from your config. Drop a [ui.theme.*] block in ~/.config/hyprpilot/config.toml; everything you don't touch falls through to the default.

Token groups

GroupFieldsWhat it paints
fontmono, sansMonospace stack for chrome; sans stack for inline assistant prose.
windowdefault, edgeWindow background + edge accent stripe.
surfacedefault, bg, alt, card.{user,assistant}, compose, textCards, composer, message bodies.
fgdefault, ink_2, dim, faintText per emphasis level.
borderdefault, soft, focusSeparators + focus rings.
accentdefault, user, user_soft, assistant, assistant_softBrand + per-speaker accents.
stateidle, stream, pending, awaiting, workingLive status indicators.
kindread, write, bash, search, agent, think, terminal, acpPer-tool-family colors.
statusok, warn, errToast / banner hues.
permissionbg, bg_activePermission row + modal panel.

Override example

To paint user message cards in a different blue:

toml
[ui.theme.surface.card.user]
bg = "#1e3a5f"

That single field overrides; every other token stays at its default.

Validation

Hex colors must be 6 or 8 characters (#rrggbb or #rrggbbaa). A typo aborts startup with a readable error pointing at the bad field.

Fonts

Default to the system stack. On Linux the sans family follows your GTK font setting so chat prose matches the desktop. Monospace stays on the configured stack — code deserves a fixed-width font regardless of the desktop font.

MIT licensed.