Configuration
The default configuration path is:
${XDG_CONFIG_HOME:-~/.config}/splinterm/config.iniStart from the repository example at config/splinterm/config.ini. Set SPLINTERM_CONFIG to test another file without replacing your normal configuration.
Minimal example
Section titled “Minimal example”[main]font=JetBrains Mono Nerd Font:style=Regularfont-pixelsize=14font-sizing-policy=output-scalepadding-left=12padding-right=12padding-top=12padding-bottom=12initial-columns=80initial-rows=24login-shell=yes
[scrollback]lines=1000
[multiplexer]divider-style=lineframe-title=splint
[cursor]style=blockblink=yes
[key-bindings]profile=splinterm# file=keybindings.toml# prefix-timeout-ms=1000
[presets]# file=presets.tomlallow-unrestricted-commands=noMalformed supported values fail startup. Unknown sections and keys produce line-numbered diagnostics.
Common settings
Section titled “Common settings”| Key | Meaning | Default or range |
|---|---|---|
main.font |
fontconfig pattern | JetBrains Mono Nerd Font Regular |
main.font-pixelsize |
pixel font size | 6–96; 14 |
main.font-point-size |
alternative point size | 6–96; unset |
main.font-sizing-policy |
output-scale or physical-dpi |
output-scale |
main.padding-* |
four independent logical edges | 0–10000; 12 |
main.initial-columns |
initial grid columns | 2–240; 80 |
main.initial-rows |
initial grid rows | 2–80; 24 |
main.shell |
executable for an empty launch | account login shell |
scrollback.lines |
daemon terminal history budget | 0–1,000,000; 1000 |
cursor.style |
block, beam, or underline |
block |
multiplexer.divider-style |
line, frame, or none |
line |
multiplexer.frame-title |
splint or none |
splint |
key-bindings.profile |
splinterm or omarchy-tmux |
splinterm |
key-bindings.file |
optional strict TOML overlay | unset |
key-bindings.prefix-timeout-ms |
prefix timeout in milliseconds | 250–5000; 1000 |
presets.file |
optional strict preset catalog | unset |
presets.allow-unrestricted-commands |
enable packaged c, cx, cy aliases |
no |
Font sizing and Wayland scale
Section titled “Font sizing and Wayland scale”The default main.font-sizing-policy=output-scale follows Wayland compositor output geometry, including fractional output scale. Choose physical-dpi when point-sized fonts should instead follow the output’s reported mode and physical-size DPI.
main.font-pixelsize and main.font-point-size are mutually exclusive. Pixel-sized fonts remain fixed according to the selected sizing policy; point-sized fonts are converted from the effective DPI. See Why native Wayland? for how scaling fits into the native client.
Omarchy theme integration
Section titled “Omarchy theme integration”With main.theme unset, Splinterm reads the active Omarchy theme from ${XDG_STATE_HOME:-~/.local/state}/omarchy/current/theme/. The effective foot.ini supplies terminal colors, selection, alpha, and blur; colors.toml supplies the Omarchy UI accent.
Valid theme changes reload without restarting the daemon, shell, or window. A malformed or incomplete replacement retains the last valid palette.
Set an explicit JSON palette only to opt out of native discovery:
[main]theme=~/.config/splinterm/theme.jsonKeymaps and the command palette
Section titled “Keymaps and the command palette”Splinterm binds only a closed registry of application actions. Keyboard dispatch, command-palette labels, tab menus, and generated help therefore describe the same resolved keymap. Configuration cannot register shell commands or callbacks.
Inspect the active configuration without contacting the daemon:
splinterm config checksplinterm keymap listsplinterm keymap showsplinterm keymap show omarchy-tmuxsplinterm keymap conflictsThe default splinterm profile provides the controls in the quickstart. The omarchy-tmux profile adds familiar Ctrl+Space and Ctrl+B prefixes, pane and tab workflows, local pane zoom, stable-ID choosers, Prefix+B tab-strip toggling, trusted Prefix+? key help, transactional configuration reload, and Prefix+[ vi copy mode.
In copy mode, move with h/j/k/l, arrows, Home/End, or PageUp/PageDown. Press v to begin selecting, y to publish to the Wayland clipboard and exit, or Escape to cancel. Copy mode never forwards those keys, pointer input, paste, or IME text to the terminal application.
A strict overlay can unbind and replace closed actions:
version = 1inherits = "splinterm"
[[unbind]]sequence = ["Ctrl+Shift+P"]
[[binding]]sequence = ["Ctrl+Alt+P"]action = "app.command-palette"Unknown actions, malformed chords, duplicate bindings, and semantic conflicts fail startup with source context rather than partially applying.
Dojo presets
Section titled “Dojo presets”The optional [presets] file describes complete named pane trees. Splinterm always ships the bounded omarchy.t, omarchy.tdl, omarchy.tds, omarchy.tdlm, and omarchy.tsl workflows. Inspection and dry-run are local; real runs commit the complete layout atomically.
Read Dojo presets for catalog syntax, commands, parameters, and the optional collision-safe s, sdl, sds, sdlm, and ssl Bash helpers.
Remote profiles
Section titled “Remote profiles”SSH endpoints use a separate strict TOML file at ${XDG_CONFIG_HOME:-~/.config}/splinterm/remotes.toml. Profile configuration cannot inject arbitrary SSH options or remote commands.
splinterm remote listsplinterm remote inspect PROFILEsplinterm remote check PROFILERead Remote access for the profile schema and graphical versus automation authority.
Moving from Foot
Section titled “Moving from Foot”Copy supported values rather than copying a complete foot.ini:
- Foot
fontmaps tomain.font. - Foot
pixelsize=Nmaps tomain.font-pixelsize=N. - Foot
size=Nmaps tomain.font-point-size=N. - Foot
initial-window-size-charsmaps to columns and rows. - Foot
shell, scrollback lines, cursor style, alpha, and blur have bounded mappings.
Arbitrary bindings, notifications, server mode, URL modes, and advanced rendering controls are not currently supported through Splinterm configuration.
Theme alpha and blur are native Wayland presentation features. Blur is requested only when translucency is active, the theme enables it, and the compositor advertises compatible protocol support. Unsupported compositors continue without blur.