Skip to content

Appearance

This page is a tour of the visual settings. Settings live in settings.json. Open the Settings window from Tyrn > Settings > Open Settings, or edit the file with Open Settings File.

Set it up in five steps

  1. Pick a theme with cmd-k cmd-t.
  2. Switch between light and dark with cmd-k cmd-shift-t.
  3. Pick an icon theme from Tyrn > Settings > Select Icon Theme….
  4. Set your fonts with buffer_font_family and ui_font_family.
  5. Adjust sizes with buffer_font_size and ui_font_size, or zoom with cmd-=, cmd-- and cmd-0.

Themes and icons

See Themes and Icon themes.

Fonts

Setting Used for
buffer_font_family, buffer_font_fallbacks Editor text
ui_font_family, ui_font_fallbacks Interface text
terminal.font_family, terminal.font_fallbacks The terminal
markdown_preview.font_family, markdown_preview.code_font_family Markdown preview
settings.json
{
"buffer_font_family": "JetBrains Mono",
"buffer_font_size": 14,
"buffer_font_weight": 400,
"buffer_line_height": "comfortable",
"ui_font_family": "Inter",
"ui_font_size": 16,
"terminal": { "font_family": "JetBrains Mono", "font_size": 14 }
}

Without these settings, Tyrn uses the fonts it ships with. To use the macOS system font for the interface, set ui_font_family to ".SystemUIFont".

buffer_line_height is "comfortable" (default), "standard" or { "custom": 1.5 }.

To turn off ligatures:

settings.json
{ "buffer_font_features": { "calt": false } }

cmd-= and cmd-- change the editor font size for this session. cmd-0 resets it. To make a size permanent, set buffer_font_size.

Editor look

Setting Default What it does
cursor_shape "bar" "bar", "block", "underline" or "hollow"
cursor_blink true Blink the cursor
current_line_highlight "all" "none", "gutter", "line" or "all"
selection_highlight true Highlight other copies of the selected text
rounded_selection true Round the corners of selections
unnecessary_code_fade 0.3 How much unused code fades
colorize_brackets false Rainbow brackets, with colors from the theme’s accents
show_whitespaces "selection" Draw tabs and spaces
relative_line_numbers "disabled" Show line numbers relative to the cursor
wrap_guides [] Columns at which to draw vertical rulers
reduce_motion "off" Cut back on animation

Interface elements

  • Tab bar: tab_bar.show, tab_bar.show_nav_history_buttons, and the tabs settings for close buttons, icons and git status.
  • Toolbar: toolbar.breadcrumbs and toolbar.quick_actions.
  • Status bar: status_bar.active_language_button, status_bar.cursor_position_button, status_bar.line_endings_button.
  • Scrollbar: scrollbar.show ("auto", "system", "always", "never") and which marks to draw, such as scrollbar.git_diff and scrollbar.search_results.
  • Minimap: off by default. Set minimap.show to "auto" or "always".
  • Gutter: gutter.line_numbers, gutter.folds, gutter.breakpoints and gutter.runnables.
  • Indent guides: indent_guides.enabled, indent_guides.coloring.
  • Layout: centered_layout.left_padding and right_padding (default 0.2) for the centered layout, and pane_split_direction_horizontal and pane_split_direction_vertical for where new splits open.
  • Window title: window_title_format, title_bar.show_branch_name and related title_bar options.

Panels

Each panel has a dock setting: project_panel.dock, outline_panel.dock, git_panel.dock, terminal.dock and debugger.dock. Sizes are default_width (or default_height for the terminal). bottom_dock_layout is "contained" (default), "full", "left_aligned" or "right_aligned".

Toggle docks with cmd-b (left), cmd-alt-b or cmd-r (right) and cmd-j (bottom).

Settings profiles

A settings profile is a named set of overrides you can switch on and off, for example larger fonts for presenting. Define them under profiles, then switch with ctrl-alt-cmd-p.

settings.json
{
"profiles": {
"Presenting": {
"base": "default",
"settings": { "buffer_font_size": 20, "ui_font_size": 20 }
}
}
}

With base set to "default", your other settings are ignored while the profile is active. With "user" (the default) the profile applies on top of them.