Settings
Mightty has a settings screen that runs in a terminal tab, and a plain-text config file behind it. You can use either: the screen writes to the file, and Mightty applies the file whenever it changes.
The settings screen
Press ⌘, to open the settings in a new tab. Settings are grouped into sections, and each one shows its current value and a description.
| Key | Action |
|---|---|
| ↑ ↓ | Move through the list. |
| Tab | Go to the next section. |
| / | Search. |
| ↩ | Edit the setting. An on/off setting switches straight away. |
| d | Restore the default. |
| t | Choose a theme. |
| e | Open the config file in your editor. |
When a setting accepts one of a fixed set of values, Mightty completes the value as you type and shows the rest of the first match in grey. Press → or Tab to accept it, or ↑ ↓ to choose another.
The theme picker and the font settings open a list that you can filter by typing. Mightty previews each choice on the settings tab as you move to it. Press ↩ to keep the choice or Esc to go back to the previous one. The font list shows monospaced fonts first; press Tab to show every font.
Settings that can be given more than once, such as font-family, are edited in the config file. Press e to open it.
The same screen runs in any terminal with mightty config.
The config file
Settings are stored in ~/.config/mightty/config, or in $XDG_CONFIG_HOME/mightty/config if that variable is set. Each line has the form name = value. A # starts a comment.
font-family = JetBrains Mono
font-size = 13
theme = Catppuccin Mocha
macos-titlebar-style = tabs
Mightty checks the file once a second and applies it when it changes, so a change saved from any editor takes effect within a second. The settings screen changes individual lines and leaves your comments and the order of the file as they are.
Mightty → Open Config File opens the file in a new tab, in the editor named by $VISUAL or $EDITOR. It creates the file first if it doesn't exist.
Settings use Ghostty's names wherever they mean the same thing, so many lines from a Ghostty config work unchanged. If Mightty doesn't understand a line, it reports the line number and applies the rest of the file.
To split your settings across files, use config-file = PATH. Mightty reads that file at the point where the line appears.
Flags
Any setting can also be given as a command-line flag. A flag overrides the config file.
mightty --font-size=16 --window-width=120 -e htop
--config-file=PATH reads another file after the default one.
Every setting
Colours
window-colorspacesrgb or display-p3: the colour space colours and images are taken to be in, as in Ghostty; display-p3 shows them more saturated on a wide-gamut display
themeColours from themes/NAME in the config directory, or a path; light:NAME,dark:NAME follows macOS's appearance
backgroundDefault background
foregroundDefault text colour
cursor-colorCursor (default: the text colour under it)
cursor-textText under a block cursor (default: the cell's background)
selection-backgroundBackground of selected text
selection-foregroundSelected text (default: unchanged)
search-foregroundText of search matches
search-backgroundBackground of search matches
search-selected-foregroundText of the selected search match
search-selected-backgroundBackground of the selected search match
palettePalette entry N (0-255); repeat for more entries
Font
font-familyFont family; repeat for fallbacks, tried in order (an empty value clears the list)
font-family-boldFamily for bold text (default: the font-family's bold, or made from it)
font-family-italicFamily for italic text
font-family-bold-italicFamily for bold italic text
font-featureOpenType feature: ss01 or +ss01 on, -calt off, cv01=2 an alternate; repeat for more (an empty value clears them)
font-variationVariable font axis for regular text, such as wght=450; repeat for more axes (empty clears)
font-variation-boldVariable font axis for bold text
font-variation-italicVariable font axis for italic text
font-variation-bold-italicVariable font axis for bold italic text
font-sizeFont size
font-ligaturesDraw the font's ligatures, such as -> and != as arrows and signs, in fonts that have them
font-backendcoretext or mightty: who draws glyphs (mightty: our own rasterizer, TrueType fonts; for testing)
grapheme-widthunicode or legacy: unicode draws emoji written with VS16 (❤️) two cells wide, as Ghostty and kitty do; legacy keeps them one, as shells count them, so command lines with them redraw cleanly
adjust-cell-widthMake cells wider or narrower than the font says: points (1, -1) or a percentage (10%)
adjust-cell-heightMake cells taller or shorter than the font says, for more space between lines: points or a percentage
Window
window-widthWidth of new windows, in cells
window-heightHeight of new windows, in cells
window-vsyncShow frames only at a display refresh; false is lower latency but may tear
window-save-statedefault, never or always: reopen windows, tabs and splits in their directories (default: unless "Close windows when quitting an application" is on in System Settings)
background-opacityOpacity of the default background; below 1 the desktop shows through
background-blurBlur behind a translucent background: true, false or a radius in points
window-padding-xSpace left and right of the text
window-padding-ySpace above and below the text
cursor-styleblock, bar, underline or block_hollow, unless the program picks one
cursor-style-blinkBlink the cursor (default: only when the program asks)
unfocused-split-opacityDim panes keys aren't going to, when a window has several
macos-titlebar-stylenative, transparent (in the terminal's background colour), tabs (tabs in the title bar) or hidden (none, the window dragged by its top padding; tabs, if any, at the top), as in Ghostty
scrollbarsystem or never: system shows macOS's overlay scrollbar at a pane's right edge while scrolling through history, to drag or click, as in Ghostty
General
scrollback-linesLines kept above the screen
undo-timeoutHow long a closed tab or pane keeps running, hidden, so undo (⌘Z) brings it back as it was: 5s, 500ms, 1m; 0 for never, as in Ghostty. Reopening (⌘⇧T) works after, with new shells
confirm-close-surfacetrue, false or always: ask before closing a pane, window or mightty (true: only while a command or agent runs in it)
commandRun this shell command line in the first window instead of a login shell
working-directoryWorking directory of the first window (default: home)
Behaviour
macos-auto-secure-inputTurn on Secure Keyboard Entry while a program reads a password (input not echoed), so other apps can't read the keys, as in Ghostty
clipboard-readallow, ask or deny: programs reading the clipboard (OSC 52)
clipboard-writeallow, ask or deny: programs setting the clipboard (OSC 52), as vim, tmux and ssh sessions do to copy
copy-on-selectCopy text to the clipboard as soon as it's selected (true or clipboard)
clipboard-paste-protectionAsk before pasting text with line breaks a shell would run at once, or with control characters
mouse-hide-while-typingHide the mouse pointer while typing, until it moves
password-maskShow a * for each character typed at a password prompt (a program reading a line without echoing it, as sudo and ssh do), drawn at the cursor by mightty only, so typing can be seen to work
mouse-scroll-multiplierScroll this many times as far as the wheel or trackpad says (0.01 to 10000)
Keys
macos-option-as-alttrue, false, left or right: Option keys that act as Alt instead of typing characters (default: true on US layouts, else false)
keybindBind keys to an action, as in Ghostty: cmd+shift+t=new_tab, ctrl+k=unbind, or clear to drop every binding; repeat for more
Bell
bell-featuresWhat a bell does, as in Ghostty: a comma list of system (the alert sound), audio (bell-audio-path), attention (bounce the Dock icon while in the background), title (🔔 on the title until the pane is typed in or looked at) and border (flash the pane's edge); no-NAME turns one off. Default: system,title
bell-audio-pathA sound file a bell plays with bell-features audio (any format macOS plays: aiff, wav, mp3, m4a)
Quick terminal
quick-terminal-positiontop, bottom, left, right or center: where the quick terminal (toggle_quick_terminal) appears, as in Ghostty
quick-terminal-sizeHow far the quick terminal comes in from its edge, then how much of the edge it runs along (all of it when left out): a percentage of the screen (40%) or points (500px), as in Ghostty; centred, its width then height
quick-terminal-autohideHide the quick terminal when another window or app takes the keys