strata
Documentation menu

Configuration

strata reads ~/.config/strata/config.toml, or $XDG_CONFIG_HOME/strata/config.toml when that variable is set (%APPDATA%\strata\config.toml on Windows). Override the location with STRATA_CONFIG_DIR or strata --config <file>. Every setting is optional, and unknown keys are reported so typos never go unnoticed.

Start from the documented default:

mkdir -p ~/.config/strata
strata --dump-config > ~/.config/strata/config.toml

Inside strata, :config opens the file in your editor.

General

[general]
theme = "strata"   # see `strata --list-themes`
keymap = "vim"               # vim | default (ctrl+c, ctrl+x, ctrl+v…)
transparent = false          # use the terminal's background
show_hidden = false
hide_gitignored = false      # leave out what git ignores (toggle with `z i`)
panels = 2                   # file panels at start
preview = true
image_preview = true
image_protocol = "auto"      # auto | kitty | sixel | iterm2 | halfblocks
auto_grid = true             # folders of mostly images or videos open as a thumbnail grid (`z g` toggles)
grid_tile_width = 22         # smallest tile width in columns
syntax_highlight = true
git_status = true
dir_sizes = false            # measure folders and show their sizes (toggle with `d c`)
extra_columns = 0            # 0 = names only, 1 = + size, 2 = + date, 3 = + permissions
preview_border = false
line_numbers = false
sidebar = true
footer = true
icons = true                 # needs a Nerd Font
mouse = true                 # clicks, right-click menu, drag and drop; false leaves the mouse to the terminal
border = "rounded"           # plain | rounded | double | thick
# border_chars = { top_left = "+", top_right = "+", bottom_left = "+", bottom_right = "+", top = "-", bottom = "-" }
sidebar_width = 24           # columns
sidebar_sections = ["places", "pinned", "disks", "network", "tags"]   # which sections, in order
preview_width = 0            # % of the window; 0 = automatic
name_percent = 0             # % of a panel kept for names before extra columns hide; 0 = automatic
sort = "name"                # name | size | modified | extension
sort_reverse = false         # descending order
case_sensitive_sort = false  # sort B before a
dirs_first = true
use_trash = true             # d d trashes; D always deletes permanently
confirm_delete = true
editor = ""                  # defaults to $VISUAL, $EDITOR, then vi
dir_editor = ""              # used by E; defaults to editor
opener = ""                  # defaults to xdg-open, open or start
cd_on_quit = false           # see Shell integration
restore_session = false      # reopen the last tabs and panels when started without paths
default_layout = ""          # layout (:layout save <name>) opened when started without paths; wins over restore_session
start_dir = ""               # directory opened when no paths are given; empty = current directory
page_size = 0                # rows moved by page up/down; 0 = a full page
si_units = false             # sizes in kB/MB (1000) instead of KiB/MiB (1024)
shell_close_on_success = false  # skip "press enter" after a `!` command that succeeds
elevate = ""                 # runs operations refused for lack of permission as root (:sudo); empty = sudo
verify_copies = false        # read copies back and compare checksums (local destinations; slower)
bandwidth_limit = ""          # cap each copy job, e.g. "10M" or "512K" (per second); empty = unlimited; :limit changes it
clipboard = ""               # program fed copied text, e.g. "wl-copy"; empty = detect, then OSC 52; "osc52" = terminal only
check_updates = false        # look for a newer release on GitHub (needs curl), at most once a day
remote_control = true        # let `strata --remote` drive this instance through a private socket (Unix)
md5_checksum = false         # MD5 of the hovered file in the metadata box
sha256_checksum = false      # SHA-256 of the hovered file in the metadata box
markdown_preview = true      # render Markdown in the preview
hex_preview = true           # hex dump of binary files
data_preview = true          # CSV tables, JSON/YAML/TOML outlines, SQLite tables
media_preview = true         # PDF pages, video frames and media details (see Preview)
browse_archives = true       # enter zip and tar archives like directories
diff_tool = ""               # e.g. "nvim -d" for compare (C); empty = built-in diff
date_format = "%Y-%m-%d %H:%M"
metrics_interval_ms = 1000

Pinned directories

pinned = ["~/projects", "~/Documents/notes"]

Directories you pin with P are stored separately and added to these.

Open with

Choose programs per file extension. They are used by enter and o, with the file's path appended. Quotes work as in a shell.

[open_with]
md = "glow -p"                                  # runs in the terminal
png = { command = "feh", detach = true }        # GUI app, started in the background
pdf = { command = "zathura", detach = true }

Keys

See key bindings.

Plugins

[plugins]
enabled = ["git", "bookmarks", "archive", "zoxide"]   # official plugins
disabled = []                                          # user plugins to skip
 
[plugins.options.git]
panel = true

See plugins.

Connections

See NAS connections.