Configuration

Config Location

ori-term looks for config.toml in the platform-standard config directory:

PlatformPath
Windows%APPDATA%\ori-term\config.toml
Linux~/.config/ori-term/config.toml
macOS~/Library/Application Support/ori-term/config.toml

If the file doesn't exist, ori-term uses built-in defaults. You only need to specify settings you want to change.

Format

Configuration uses TOML. A minimal config might look like:

[font]
family = "JetBrains Mono"
size = 14

[theme]
name = "catppuccin-mocha"

[window]
opacity = 0.95

Hot Reload

ori-term watches your config file for changes. Save the file and settings apply immediately — no restart needed. You can also trigger a manual reload with Ctrl+Shift+R.

Hot reload applies to: theme, font size, keybindings, cursor style, window opacity, and most visual settings. Some settings (like shell or scrollback limits) only apply to new panes.

Font

[font]
family = "JetBrains Mono"
size = 14
fallback = ["Noto Sans Mono", "Noto Color Emoji"]

[font.features]
liga = true
calt = true

The family field sets the primary font. fallback defines additional fonts for missing glyphs. OpenType features can be enabled or disabled individually.

Theme

[theme]
name = "catppuccin-mocha"

# Or use separate light and dark themes:
[theme]
light = "catppuccin-latte"
dark = "catppuccin-mocha"

When light and dark are set, ori-term follows your system appearance. See Theming for custom theme creation.

Window

[window]
width = 120
height = 40
opacity = 1.0
padding = 8
fullscreen = false

Cursor

[cursor]
shape = "block"      # block, bar, underline
blink = true
blink_rate = 500     # milliseconds

Scrollback

[scrollback]
limit = 10000        # lines, 0 for unlimited
archive = true       # overflow to disk
archive_max = "1GB"
archive_retention = "7d"

Shell

[shell]
program = "/bin/zsh"
args = ["-l"]
working_directory = "~"

If not specified, ori-term detects your default shell automatically.

Mouse

[mouse]
copy_on_select = false
word_delimiters = " \t()[]\"'`,;:@"

Keybindings

[keybindings]
"ctrl+shift+d" = "SplitRight"
"ctrl+shift+e" = "SplitDown"
"ctrl+shift+f" = "ToggleFloat"
"ctrl+shift+z" = "ZoomPane"

See Keybindings for all available actions and the full default binding list.

URL Patterns

[[url_patterns]]
regex = "PROJ-\\d+"
url = "https://jira.example.com/browse/$0"
action = "open"

[[url_patterns]]
regex = "#(\\d+)"
url = "https://github.com/user/repo/issues/$1"
action = "open"

Each pattern defines a regex, an optional URL template with capture group substitution, and an action (open, copy, select). See URL Patterns for details.