Configuration

Themes & appearance

Sinclair ships with 22 hand-tuned built-in themes, and layers fine-grained control over individual colors, fonts, and the cursor on top of whichever one you pick. Every setting here lives in your config file and applies live the moment you save — no restart required.

Choosing a theme

Set the theme key in your config to any built-in name:

theme = tokyo night

Theme names are case-insensitive and ignore spaces, dashes, and underscores, so tokyo night, tokyo-night, and TokyoNight all select the same theme. If you prefer to point and click, the GUI settings (⌘,) include a theme picker that writes the same key for you.

Built-in themes

All 22 themes and the exact value to pass to theme:

ThemeConfig value
Darkdark
Lightlight
Ayu Darkayu dark
Catppuccin Lattecatppuccin latte
Catppuccin Mochacatppuccin mocha
Draculadracula
Everforesteverforest
GitHub Darkgithub dark
GitHub Lightgithub light
Gruvbox Darkgruvbox dark
Gruvbox Lightgruvbox light
Kanagawakanagawa
Material Darkmaterial dark
Monokaimonokai
Nordnord
One Darkone dark
Palenightpalenight
Rose Pinerose pine
Solarized Darksolarized dark
Solarized Lightsolarized light
Tokyo Nighttokyo night
Zenburnzenburn

Automatic light & dark

Set theme-light and theme-dark to follow your operating system's appearance. Sinclair watches the OS light/dark setting and rebuilds its colors live when it flips, picking the matching scheme — no restart, no manual toggle. Either key on its own also works; whichever is set wins for that appearance, and theme is the fallback.

// ~/.config/sinclair/settings.json
{
  "theme-light": "github light",
  "theme-dark": "github dark"
}

Transparency, images & readability

A few keys shape the terminal surface itself:

// ~/.config/sinclair/settings.json
{
  "background-opacity": 0.85,
  "background-image": "~/Pictures/wallpaper.png",
  "minimum-contrast": 4.5,
  "badge": "{host} · {cwd}"
}

Per-color overrides

You don't have to take a theme as-is. Any of these keys layer your own colors on top of the selected theme, so you can start from a base and tweak just the parts you want.

KeyOverrides
backgroundWindow/terminal background color.
foregroundDefault text color.
cursor-colorCursor fill color.
cursor-textColor of text drawn under a block cursor.
selection-foregroundText color inside a selection.
selection-backgroundHighlight color of a selection.
split-divider-colorColor of the dividers between splits.
palette Repeatable. N=#rrggbb overrides a single ANSI index, N from 0–255 (0–7 standard, 8–15 bright, 16–231 the 6×6×6 color cube, 232–255 grayscale ramp).
# start from a base theme, then override
theme = tokyo night

background = #0b0e14
cursor-color = #ffcc66

# recolor ANSI red (index 1) and bright black (index 8)
palette = 1=#ff5555
palette = 8=#5c6370

Fonts

Font keys control the typeface, size, and OpenType behavior of the terminal text.

KeyMeaning
font-familyRepeatable. Each entry builds a fallback chain — the first is the primary face, later ones cover missing glyphs. Default Menlo.
font-sizePoint size. Default 13.
font-styleOne of normal, bold, italic, bold-italic.
font-featureRepeatable OpenType feature codes like +liga, -calt, ss01, or cv01=2, for ligatures and stylistic sets.
adjust-cell-widthNudge cell width in pixels. May be negative.
adjust-cell-heightNudge cell height in pixels. May be negative.
font-family = JetBrains Mono
font-family = Menlo
font-size = 14
font-style = normal
font-feature = +liga
font-feature = cv01=2
adjust-cell-height = 2
Emoji and programming ligatures are both supported — turn ligatures on (or off) per font with font-feature.

Cursor

Shape, blink, and color of the text cursor.

KeyMeaning
cursor-styleOne of block, bar, underline.
cursor-style-blinkBoolean. Whether the cursor blinks.
cursor-colorCursor fill color.
cursor-textColor of the character under a block cursor.
cursor-style = bar
cursor-style-blink = true
cursor-color = #ffcc66
cursor-text = #0b0e14

Padding & window

Spacing and rendering options for the window and its splits.

KeyMeaning
window-padding-xHorizontal inner padding in pixels. Default 2.
window-padding-yVertical inner padding in pixels. Default 2.
unfocused-split-opacityOpacity of splits that don't have focus, 0.151.0. Default 0.7.
bold-is-brightBoolean. Render bold text using the bright color variant.
minimum-contrastMinimum contrast ratio 121, default 1.0. Raise it to force legible text over close-toned backgrounds.
window-padding-x = 8
window-padding-y = 6
unfocused-split-opacity = 0.6
bold-is-bright = true
minimum-contrast = 1.1
Every key on this page is documented alongside the rest of the settings in the full Configuration reference.