theme.yaml
This page lists every field in theme.yaml, the file that holds the interface's appearance.
surface: ink
accent: violet
colour_amount: full
mode: dark
density: compact
diff:
layout: split
board:
group_by: repo
editor: code
Settings › Appearance writes this file. A save changes only the keys it sends, and a key the file leaves out takes its default. When a file sets surface, a missing accent is none and a missing colour_amount is subtle. A file that sets colour_amount: mono must leave accent out or set it to none; Kraft refuses a file that pairs mono with another accent.
| Field | Type | Default | Meaning |
|---|---|---|---|
surface | graphite, slate, ink, sand or moss | ink | The base colors of the page. |
accent | none, blue, violet, green, amber or rose | violet | The accent color. |
colour_amount | mono, subtle or full | full | How much color the surfaces, the accent and the status colors carry. mono leaves only gray. |
mode | light, dark or system | dark | The color mode. |
density | compact or comfortable | compact | How tightly rows and text are spaced. |
code_scheme.light | auto, none or solarized-light | auto | The syntax colors in review diffs in light mode. |
code_scheme.dark | auto, none, solarized-dark, monokai or dracula | auto | The syntax colors in review diffs in dark mode. |
diff.layout | unified or split | unified | The layout of the review page's diff. |
diff.colours | theme, safe or plain | theme | The colors of the review page's diff: status colors (theme), colorblind-safe blue and orange (safe), or marks only (plain). |
diff.show_whitespace | boolean | true | Show whitespace changes. false hides lines that differ only in whitespace. |
diff.word_highlight | boolean | true | Highlight changed words: a stronger tint on the words that changed inside a line. |
diff.wrap_lines | boolean | false | Wrap long lines. false scrolls sideways. |
diff.one_file_at_a_time | boolean | true | Show one file at a time, with the file tree beside it. |
board.group_by | status, repo or chain | status | What the board groups items by. Before 2.0, template meant chain. It is still read as chain. |
board.show_done | integer, at least 1 | 5 | How many of the newest done items the board's Done group lists before show all N. |
board.open_in | peek or full | peek | Whether opening an item shows the side panel (peek) or the item page (full). |
editor | code, cursor, zed or obsidian | unset | The editor a document's Open in editor uses. Left out, it is KRAFT_EDITOR, else the system's default app. |
palette is legacy
A palette key in an old file (nocturne, rose, forest, amber or slate) is converted once at startup into the three keys that draw the same look, and Kraft saves the original as theme.yaml.pre-2.0. A palette that reappears, from an old browser tab's save or a hand edit, is read as it was and converted the same way at the next start.
The conversion sets colour_amount to the file's own value, else full. With colour_amount: mono, accent is none instead of the one in the table:
palette | surface | accent |
|---|---|---|
nocturne, rose | ink | violet |
forest | moss | green |
amber | sand | amber |
slate | slate | blue |
A file that already sets its own surface only loses the palette. A file that does not parse or holds a value Kraft does not know is left alone. The upgrade, the backup names and how to restore one are in Upgrade from 1.4.
Related
- Templates and Settings: the Appearance screen that writes this file.
- Configuration: the other files in the config directory.