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

Theming

Mosaico ships with three built-in theme families: Catppuccin, Rosé Pine, and Tokyo Night. Each family has multiple flavors that share a common palette and only differ in shading, so the focus borders, monocle border, unfocused borders, and the status bar all stay coordinated.

Configuration

Set the theme name and flavor in config.toml:

[theme]
name = "catppuccin"   # catppuccin, rose-pine, tokyo-night
flavor = "mocha"

Available Themes

Catppuccin

FlavorStyle
latteLight
frappeMedium-dark
macchiatoDark
mochaDarkest (default)

Rosé Pine (name = "rose-pine")

FlavorStyle
mainDark, default
moonSlightly lighter dark
dawnLight

Tokyo Night (name = "tokyo-night")

FlavorStyle
nightDark, default
stormDark with bluish tint
dayLight

Named Colors

When a theme is active, you can use named colors anywhere a color value is expected (borders, bar colors). Each theme family exposes its own palette, plus a small set of common aliases (red, green, blue, yellow) that resolve under every theme so portable configs like focused = "blue" look right regardless of which theme you pick.

Catppuccin (14 accent colors)

NameDescription
rosewaterWarm pink
flamingoSoft pink
pinkPink
mauvePurple
redRed
maroonDark red
peachOrange
yellowYellow
greenGreen
tealTeal
skyLight blue
sapphireBlue
blueVivid blue
lavenderSoft purple

Rosé Pine

NameDescription
loveRed/pink accent (alias red)
goldWarm yellow (alias yellow)
roseSoft pink
pineTeal/blue accent (alias blue)
foamCyan (alias green, teal)
irisPurple (alias mauve, purple, magenta)

Tokyo Night

NameDescription
redRed
orangeOrange
yellowYellow
greenGreen
cyanCyan
tealTeal
blueBlue
purplePurple (alias mauve, magenta)

Additional named colors for surfaces and text:

NameDescription
baseBase background
mantleDarker background
crustDarkest background
surface0Surface layer 0
surface1Surface layer 1
surface2Surface layer 2
overlay0Overlay layer 0
overlay1Overlay layer 1
overlay2Overlay layer 2
subtext0Subdued text
subtext1Slightly subdued text
textPrimary text color

Color Resolution

Colors are resolved in the following order:

  1. Hex value ("#1e1e2e") – used as-is
  2. Named color ("blue") – looked up in the active theme palette
  3. Empty string – falls back to the default for that setting

Existing hex color values in your configuration continue to work unchanged after enabling a theme. Named colors are optional.

Examples

Using named colors in bar.toml:

[colors]
background = "base"
foreground = "text"
accent = "blue"

Using named colors for borders in config.toml:

[borders.colors]
focused = "blue"
monocle = "green"

Hot-Reload

Theme changes in config.toml are hot-reloaded. When the flavor changes, all named colors are re-resolved against the new palette and the bar is updated without restarting.