Configuration

Full reference for every setting in blade.toml.

Hot-reload: Blade watches your config file and applies changes instantly. No restart required.

[window]

Window appearance and layout settings.

KeyTypeDefaultDescription
titlestring"Blade"Window title bar text
columnsinteger120Initial width in columns
rowsinteger36Initial height in rows
opacityfloat1.0Window opacity (0.0 - 1.0)
paddinginteger8Padding in pixels around the terminal
fullscreenbooleanfalseStart in fullscreen mode

[font]

Font rendering and text shaping settings.

KeyTypeDefaultDescription
familystring"MiSans"Primary font family name
sizefloat14.0Font size in points
line_heightfloat1.2Line height multiplier
ligaturesbooleantrueEnable programming ligatures
fallbackstring[]["Consolas", "Noto Sans Mono", "DejaVu Sans Mono"]Fallback font chain

[colors]

Color scheme settings. Set theme to use a built-in theme, mode to switch between dark and light, and font_color to override the text color.

KeyTypeDefaultDescription
themestringnullBuilt-in theme name (overrides individual colors)
modestring"dark"Color mode: "dark", "light", or "system" (auto-detect OS preference)
font_colorstringnullOverride text color: "white", "black", "red", or any "#RRGGBB" hex
foregroundhex"#d4d4d4"Default text color
backgroundhex"#1e1e2e"Background color
cursorhex"#f5e0dc"Cursor color
selectionhex"#45475a"Selection highlight color

When mode = "light", Blade auto-switches to a light theme variant (e.g., catppuccin-mocha becomes catppuccin-latte). When mode = "system", Blade reads your OS appearance preference. The font_color override is applied on top of any theme.

See Themes for available theme names, light/dark mode details, and custom theme creation.

[scrolling]

Scrollback buffer and scroll speed settings.

KeyTypeDefaultDescription
historyinteger10000Maximum scrollback lines
multiplierinteger3Scroll speed multiplier

[cursor]

Cursor appearance and behavior.

KeyTypeDefaultDescription
stylestring"block"Cursor style: block, beam, or underline
blinkbooleantrueEnable cursor blinking
blink_intervalinteger600Blink interval in milliseconds

[keybindings]

Keyboard shortcut configuration. Load a preset or define custom bindings.

KeyTypeDefaultDescription
presetstringnullPreset name: "default", "vim", or "emacs"
customarray[]Custom keybinding entries (see below)

Custom keybinding format

Each entry in [[keybindings.custom]] has:

See Keybindings for the full list of actions and presets.

Full Example

# ~/.config/blade/blade.toml [window] title = "Blade" columns = 120 rows = 36 opacity = 1.0 padding = 8 [font] family = "JetBrains Mono" size = 14 ligatures = true fallback = ["Consolas", "Noto Sans Mono"] [colors] theme = "catppuccin-mocha" mode = "system" # dark, light, or system font_color = "white" # optional: white, black, red, or #hex [scrolling] history = 10000 multiplier = 3 [cursor] style = "block" # block, beam, underline blink = true [keybindings] preset = "default" # default, vim, emacs # Custom binding example [[keybindings.custom]] keys = "ctrl+shift+n" action = "new_tab"