Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

lazybw reads ~/.config/lazybw/config.toml. The file is optional: without it, lazybw uses the defaults listed in Default configuration. Put in it only the options you want to change.

[ui]
theme = "catppuccin-mocha"
icons = "unicode"

[security]
clipboard_timeout = "20s"
auto_lock = "10m"

[vault]
sort = "modified"

Durations are written as "500ms", "30s", "15m", "2h" or "365d". Options that can be switched off also accept "never".

Changing settings from inside lazybw

The settings screen with appearance and security options

Space , opens the settings screen. Move with j and k, change a value with h and l (or Enter), and reset it to the default with r. The line at the bottom explains the selected option, and a ● marks the ones you have changed from the default. Changes take effect at once and are written back to config.toml, keeping your comments and the order of the file.

The same works from the command line:

:set theme=nord            set a value
:set animations!           toggle a true/false option
:set clipboard_timeout?    show the current value
:set animations&           back to the default

Short names work when they are unambiguous. The full name, such as ui.animations, always works.

Checking the file

lazybw config --check          # validate config.toml
lazybw config --path           # print where it is
lazybw config --print-default  # print the full default file

lazybw also checks the file on start. A mistake, such as a wrong value or a typo in a key binding, opens an error screen that names the file, the line and what is wrong. Unknown keys only produce a warning.

The options most people change

OptionDefaultWhat it does
ui.theme"tokyonight-night"colour theme (see Themes and icons)
ui.icons"nerdfont"nerdfont, unicode or ascii
ui.animationstruesmall fades and slides when panes and popups open
ui.list_density"comfortable"two lines per item, or compact for one
ui.mousetruemouse support
security.clipboard_timeout"30s"when copied values are cleared
security.auto_lock"15m"lock after this long without a key press
security.reveal_timeout"20s"when revealed values hide again
security.reprompt_grace"0s"how long a correct master password re-prompt counts
vault.sync_interval"10m"background sync
vault.sort"name"name, modified, created or type
vault.search_notesfalselet search look inside notes
vault.confirm_trashfalseask before dd moves an item to the trash
editor.command""editor for Ctrl-e; empty means $VISUAL, then $EDITOR, then vi
keys.leader"<Space>"the leader key
keys.timeoutlen"1000ms"how long lazybw waits to see if a sequence continues

Using a different bw

lazybw looks for bw in bw.path first, then in the LAZYBW_BW environment variable, then on your PATH. Set bw.path if you keep several versions.

By default lazybw ignores a BW_SESSION variable in the environment and asks you to unlock. Set bw.inherit_session = true to reuse an existing session instead.