Linux

Where Does bemenu Store Settings?

bemenu keeps no config file. Behavior comes from CLI flags and BEMENU prefixed env vars, with XDG helpers for backends.

Last updated

bemenu deliberately ships without a config file. Every tunable arrives as a command line flag or a matching environment variable, which suits scripting better than static files. Shell startup exports make choices stick across runs.

Client wrappers and dmenu compatibility shims share the same flags. There is nothing to back up beyond your shell config lines. Version differences show up as new flags rather than file migrations. Wrapper scripts set per call flags without touching shell startup. Renderer choice follows the backend flag, not a config value.

Where bemenu stores this, by platform

Linux
/home/<username>/.bashrc

Persistent bemenu defaults as shell exports. No app owned file exists. Add BEMENU backend, font, and color exports here.

Frequently asked questions

How do I set bemenu defaults?

Export BEMENU prefixed variables in shell startup for persistent choices like backend, font, and colors. Flags override them per run.

How do I use bemenu in scripts?

Pipe lists into bemenu and read the selection from stdout. Backends cover Wayland, X11, and curses from one binary.

Notice an outdated path? Let us know.