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:
| Theme | Config value |
|---|---|
| Dark | dark |
| Light | light |
| Ayu Dark | ayu dark |
| Catppuccin Latte | catppuccin latte |
| Catppuccin Mocha | catppuccin mocha |
| Dracula | dracula |
| Everforest | everforest |
| GitHub Dark | github dark |
| GitHub Light | github light |
| Gruvbox Dark | gruvbox dark |
| Gruvbox Light | gruvbox light |
| Kanagawa | kanagawa |
| Material Dark | material dark |
| Monokai | monokai |
| Nord | nord |
| One Dark | one dark |
| Palenight | palenight |
| Rose Pine | rose pine |
| Solarized Dark | solarized dark |
| Solarized Light | solarized light |
| Tokyo Night | tokyo night |
| Zenburn | zenburn |
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:
background-opacity(0.2–1.0) makes the window translucent — the terminal background lets the desktop through while colored cells stay opaque.background-imagedraws an image behind the terminal; combine it with a loweredbackground-opacityso the image shows through.minimum-contrast(1–21) nudges each cell's foreground toward black or white until it meets that WCAG contrast ratio against its background — a floor on readability for low-contrast color schemes.badgepaints a faint watermark in each pane's corner, with{cwd}and{host}substituted per pane.
// ~/.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.
| Key | Overrides |
|---|---|
background | Window/terminal background color. |
foreground | Default text color. |
cursor-color | Cursor fill color. |
cursor-text | Color of text drawn under a block cursor. |
selection-foreground | Text color inside a selection. |
selection-background | Highlight color of a selection. |
split-divider-color | Color 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.
| Key | Meaning |
|---|---|
font-family | Repeatable. Each entry builds a fallback chain — the first is the primary face, later ones cover missing glyphs. Default Menlo. |
font-size | Point size. Default 13. |
font-style | One of normal, bold, italic, bold-italic. |
font-feature | Repeatable OpenType feature codes like +liga, -calt, ss01, or cv01=2, for ligatures and stylistic sets. |
adjust-cell-width | Nudge cell width in pixels. May be negative. |
adjust-cell-height | Nudge 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
font-feature.
Cursor
Shape, blink, and color of the text cursor.
| Key | Meaning |
|---|---|
cursor-style | One of block, bar, underline. |
cursor-style-blink | Boolean. Whether the cursor blinks. |
cursor-color | Cursor fill color. |
cursor-text | Color 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.
| Key | Meaning |
|---|---|
window-padding-x | Horizontal inner padding in pixels. Default 2. |
window-padding-y | Vertical inner padding in pixels. Default 2. |
unfocused-split-opacity | Opacity of splits that don't have focus, 0.15–1.0. Default 0.7. |
bold-is-bright | Boolean. Render bold text using the bright color variant. |
minimum-contrast | Minimum contrast ratio 1–21, 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