User interface.md

July 30, 2026 · View on GitHub

Basalt's interface is divided into a tab bar, panes, modals, and a status bar.

![[demo.gif]]

Only one pane has focus at a time. The active pane is indicated by a thicker border, and the status bar at the bottom shows which pane is active. Switch between panes with Tab and Shift+Tab.

Tabs

The tab bar runs along the top and lists the notes you have open. Opening a note from the [[Explorer]] focuses its tab if it is already open, otherwise it opens a new one, so every note keeps its own cursor, scroll position and unsaved edits as you move between them.

Cycling to a tab also moves the [[Explorer]] selection to that note, expanding any collapsed folder in its path so the note stays visible. Tabs are sized uniformly and shrink as more open; tabs that share a name are disambiguated by their parent directory.

![[tabs.gif]]

MappingDescription
Ctrl+n / Ctrl+pFocus the next / previous tab
L / HFocus the next / previous tab
]b / [bFocus the next / previous tab
Ctrl+wClose the active tab

Panes

Explorer

The [[Explorer]] is the sidebar on the left side. It displays folders and notes in the current vault.

![[explorer.gif]]

Note editor

The [[Note editor]] is the main pane in the center. It displays the selected note with rendered markdown — headings, lists, code blocks, and other elements are rendered with WYSIWYG-style formatting.

![[note-editor.gif]]

Outline

The [[Outline]] is the pane on the right side. It lists the headings in the current note and lets you jump to a specific section.

![[outline.gif]]

Modals

Modals open on top of the interface. While a modal is open, key mappings for the underlying panes are inactive.

Help modal

Press ? to open the help modal. It shows the available key mappings for the currently active pane. Use j/k or arrow keys to scroll and Esc to close.

![[help-modal.gif]]

Vault selector modal

Press Space then v (the [[Key mappings|leader]] followed by v) to open the vault selector. It lists all your Obsidian vaults and lets you switch between them. Use j/k or arrow keys to navigate, Enter to open, and Esc to close.

![[vault-selector.gif]]

Input modal

The input modal provides text input for operations like renaming. Press r in the [[Explorer]] to rename the selected note or directory. The modal opens with the current name — modify it and press Enter to confirm or Esc to cancel.

When renaming a note, all wiki-links referencing that note are automatically updated across the vault.

MappingDescription
iEnter edit mode for typing
h / Move cursor left
l / Move cursor right
Alt+fMove cursor forward by word
Alt+bMove cursor backward by word
BackspaceDelete character before cursor
EnterAccept changes and save
EscCancel and close without saving

Debug log overlay

Press Space then d (the [[Key mappings|leader]] followed by d) to toggle the debug log overlay. It docks to the lower half of the screen and shows the application's tracing output across all levels (trace, debug, info, warn and error), each colored by severity. Capture is always on, so the overlay reflects what has happened up to the moment you open it.

The title shows the active minimum level and the current process memory. The overlay is meant for debugging and troubleshooting. It does not interfere with normal use, so you can open it to inspect activity, then close it and carry on.

![[debug-log.gif]]

MappingDescription
Space dToggle the overlay
j / k / / Scroll by one line
Ctrl+u / Ctrl+dScroll up / down half a page
lCycle the minimum visible level (trace → error)
cClear the captured entries
EscClose the overlay

The overlay can also be opened on startup with the --debug flag, and the initial minimum level set with --log-level (for example basalt --debug --log-level warn).

Status bar

The status bar runs along the bottom of the screen and displays contextual information: the active pane, word and character counts for the current note, and the editing mode when using the [[Editor (experimental)|experimental editor]].