Settings
Settings go in config.toml. Every key is optional.
| Key | Meaning | Default |
|---|---|---|
theme | A theme name, or one for each appearance of the desktop: { light = "paper", dark = "fjord" }. A name can be a built-in theme (fjord, ember, paper), a file in themes, ghostty, or ghostty:Name. | fjord when the desktop is dark, paper when it's light |
font-family | The font for terminals. The interface's icons come from it, so it needs to be a Nerd Font. | JetBrainsMono Nerd Font |
interface-font | The font for the interface around the terminals: tabs, sidebar, headers, panels | the font the system uses for its own interface |
font-size | Terminal text size in points, 6 to 72. A point is 1⅓ pixels on Linux and one pixel on macOS. Interface text doesn't follow it. | 12 |
density | comfortable: each pane is a rounded card with space around it. compact: panes sit edge to edge with a hairline between them. | comfortable |
pane-gap | Space between panes in pixels, 0 to 40 | 6, or 0 when density is compact |
sidebar | The levels listed under a project's name: ["tabs", "panes"], ["tabs"], ["panes"], or [] for names only | ["tabs", "panes"] |
tabs | Where the tabs show. sidebar: down the side, for every project. top: along the top, for the current project. | sidebar |
pane-header | full: what the pane is and what it's doing, plus buttons to arrange it. name: the same without the buttons. hidden: no header; a floating pane keeps its name. | full |
keymap | direct: each command has its own chord. leader: each command is a key you press after the leader, which leaves the chords to the programs in the panes. | direct |
leader | The key you press before a command's key when keymap is leader | ctrl-space |
shell | What a pane runs when you give it no command, with any arguments: "fish", "/bin/zsh -l". The daemon reads it when a pane starts. | the login shell, $SHELL |
keep-scrollback | Whether what panes show is saved to disk when the daemon stops, so it's there above a new shell the next time the daemon starts. Read by the daemon. With false, nothing is saved, and anything saved earlier is removed as panes close. | true |
clipboard | Whether a program can put text on the clipboard. focused: only the program in the pane you're looking at. never: no program. No program can ever read what's on the clipboard. Read by the daemon. | focused |
[keys] | Keys and the command each one runs, or none, in either keymap | empty |
[keys.direct] | The whole direct keymap, written out. When present, it replaces the defaults. | the keys in the table above |
[keys.leader] | The whole leader keymap, written out. Each key is the one you press after the leader. When present, it replaces the defaults. | the keys in the table above |
An unknown key is an error. The file that isc config prints sets theme to { light = "paper", dark = "fjord" }, which is the same as leaving it out. It shows shell and interface-font as lines to uncomment, and writes out [keys], [keys.direct] and [keys.leader] with their defaults.
For the theme file format, see A theme file.