Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Themes

Themes control the client’s UI colors — windows, menus, editors, buttons — as one switchable unit. They work in both the TUI and GUI.

Switching Themes

.themes            # browse and preview all themes
.settheme nord     # switch directly by name

The active theme is saved to your config (active_theme) and restored on launch.

Built-in Themes

35+ presets, including:

  • Classics: dark (default), light, nord, dracula, solarized-dark, solarized-light, monokai, gruvbox-dark, catppuccin, night-owl
  • Flavors: cyberpunk, synthwave, retro-terminal, ocean-depths, forest-canopy, sunset-boulevard, arctic-night, sepia-parchment, cherry-blossom, slate-professional, and more
  • Accessibility: high-contrast-dark, high-contrast-light, deuteranopia, protanopia, tritanopia, monochrome, low-blue-light, photophobia, adhd-focus, reduced-motion

Custom Themes

.edittheme         # edit the current theme in-app

Saving writes a TOML file to ~/.vellum-fe/themes/<name>.toml and makes it active. A custom theme with the same name as a built-in overrides it.

Theme files are flat tables of color fields — hex values or palette color names:

name = "my-theme"
description = "My tweaked dark theme"
window_background = "#1a1b26"
text_primary = "#c0caf5"
link_color = "Link"        # palette name from colors.toml
# ... every color field must be present — a file with missing
# fields is skipped when themes are loaded

Hand-written theme files must define all color fields; there is no per-field fallback. The easiest (and recommended) way to author one is .edittheme on a built-in you like — it writes a complete file — then save under a new name.

Themes vs. colors.toml

Two separate systems:

Themescolors.toml
ControlsWidget/UI colors (windows, menus, editors)Game text colors (speech, links, monsterbold), spell colors, terminal palette
Switch.settheme, instantEdited in place (.uicolors, .spellcolors, .colors)

Switching a theme does not change your game-text colors, and vice versa.

For image-based decoration in the GUI (background art, icon sprites), see Skins — themes own colors, skins own graphics.