# Copy to ~/.config/elio/config.toml to customize elio's behavior. # [ui] # show_top_bar = false # grid_zoom = 1 # starting zoom level for grid view: 0, 1, or 2 (clamped) # show_hidden = false # show dotfiles and hidden files on startup (toggle with .) # start_in_grid = false # open in grid view on startup (toggle with v) # Customize the Places pane. `entries` controls the pinned items in order; # `show_devices` keeps or hides the auto-detected Devices section. # Omit [places] entirely to keep the exact default sidebar. # # Built-in names: home, desktop, documents, downloads, pictures, music, # videos, root, trash # Use built-in ids like "downloads", not localized folder names like "Descargas". # Entries are deduped by resolved path: the first matching path wins. # Entry forms: # - "downloads" # - { builtin = "downloads", icon = "..." } # - { title = "Projects", path = "~/code", icon = "..." } # Any non-empty string works, but a single Nerd Font glyph usually looks best. # # [places] # show_devices = true # entries = [ # "home", # "desktop", # "documents", # { builtin = "downloads", icon = "" }, # "pictures", # "music", # "videos", # "root", # { title = "Projects", path = "~/workspace", icon = "󰚝" }, # "trash", # ] # # Customize the Go To menu. `entries` controls the items in order. # Omit [goto] entirely to keep the default Go To menu. # # Built-in names: top, downloads, home, config, trash # Entry forms: # - "downloads" # - { builtin = "downloads", key = "D" } # - { title = "tmp", path = "/tmp", key = "T" } # # Duplicate keys are skipped after the first matching entry. # # [goto] # entries = [ # "top", # { builtin = "downloads", key = "D" }, # "home", # "config", # "trash", # { title = "tmp", path = "/tmp", key = "T" }, # ] # # Override elio's open action without changing system defaults. Rules are # checked top-to-bottom; put specific extension rules before broad type rules. # If none match, elio uses the system opener. Omit platform to match every OS. # # Match by elio file type and/or extension. Supported types: folder, text, code, # config, document, image, audio, video, archive, font, data, file. # Without {path}, elio appends opened paths. Use {path} only when the app needs # the path inside an argument; then bulk opens run once per path. # Use terminal = true for terminal apps so elio suspends, waits, and restores. # For Windows paths with backslashes, prefer TOML literal strings. # # [open] # rules = [ # { ext = "md", command = "markdown-app", platform = "linux" }, # { type = ["text", "code", "config"], command = "$EDITOR", terminal = true }, # { ext = "pdf", command = "pdf-app", platform = ["linux", "bsd"] }, # { ext = "pdf", command = "open -a App", platform = "macos" }, # { ext = "pdf", command = "pdf-app.exe", platform = "windows" }, # # or: { ext = "pdf", command = 'C:\Program Files\App\app.exe', platform = "windows" }, # ] # # Optional pane weights for the browser body. Values are relative: in # side-by-side layouts they control horizontal width, and when Preview stacks # below Files they control the Files / Preview vertical split. # Set a pane to 0 to hide it. # # If this table is omitted, elio keeps the built-in responsive layout: # - horizontal layout: Places prefers 20 cols, Files / Preview use a 54 / 46 # split of the remaining width # - tighter windows: Places can shrink to 18 cols before Preview stacks # - stacked layout: Files / Preview use a 54 / 46 split of the available height # - height-constrained windows: Preview drops out instead of stacking too early # # Custom layouts keep visible panes side by side whenever they can still meet # minimum usable widths. If Preview can no longer fit horizontally but there is # enough height, it stacks below Files using the configured Files / Preview # weights. # # [layout.panes] # places = 10 # files = 45 # preview = 45 # Rebind browser action keys. Each value may be a single key, a list, or []. # # Keys may be one-character strings, named keys, or modifier bindings. # Supported named keys: "left", "right", "up", "down", "enter", "space", # "tab", "backtab", "shift+tab", "backspace", "delete", "del", "pageup", # "pagedown", "home", "end", "f1".."f12". # Named keys and modifiers are case-insensitive: "F2", "PageUp", "Ctrl+O". # # Examples: open_with = ["O", "w"], open = "ctrl+o", nav_right = "shift+right". # For shifted letters, use uppercase characters: "O", not "shift+o". # # Setting a key replaces that action's full default list, not just one entry. # Example: nav_down = "j" removes the default "down" arrow binding. # # Use [] to unbind an action. # Example: nav_right = [] frees "l" and "right". # Then open_or_enter = ["enter", "l", "right"] can use them. # # In chooser mode (--chooser-file), choose takes priority over normal actions # that use the same key. # # Reserved bare keys: ? + = # Reserved shortcuts: Ctrl+C, Ctrl+Plus/Minus # Omit any key to keep the built-in default shown in the comment. # # [keys] # nav_left = ["h", "left"] # nav_down = ["j", "down"] # nav_up = ["k", "up"] # nav_right = ["l", "right"] # quit = "q" # quit_without_cd = "Q" # yank = "y" # cut = "x" # paste = "p" # extract_archive = "e" # create_archive = "C" # symlink_absolute = "-" # symlink_relative = "_" # trash = ["d", "del"] # delete_permanently = ["D", "shift+del"] # create = "a" # rename = ["r", "F2"] # rename_in_editor = ["R", "shift+F2"] # restore_from_trash = "r" # copy_path = "c" # search_folders = "f" # search_files = "ctrl+f" # find_duplicates = "alt+d" # zoxide = "z" # shell = "!" # open = "o" # open_with = "O" # open_or_enter = "enter" # choose = "enter" # confirm chooser selection # go_to = "g" # filter_directory = "/" # toggle_selection = "space" # cycle_places_next = "tab" # cycle_places_previous = "backtab" # go_parent = "backspace" # page_up = "pageup" # page_down = "pagedown" # jump_first = "home" # jump_last = ["G", "end"] # select_all = "ctrl+a" # history_back = "alt+left" # history_forward = "alt+right" # sort = "s" # toggle_view = "v" # toggle_preview = "V" # fullscreen_preview = "P" # toggle_hidden = "." # scroll_preview_up = ["K", "shift+up"] # scroll_preview_down = ["J", "shift+down"] # scroll_preview_left = ["H", "shift+left"] # scroll_preview_right = ["L", "shift+right"]