Skip to content
SPECIFICTION
Get listed

bemenu

github.com

Free plan macOSLinux
Visit github.com
Spec score 8.4 #8 of 40 in App Launcher Software

What it is

bemenu is a dynamic menu library and client program inspired by dmenu. It provides the bemenu and bemenu-run clients, with build targets for curses, X11, and Wayland backends. Users can configure environment variables for options, backend selection, renderer paths, and rendering scale. The project documents default keyboard bindings and an optional Vim-style mode enabled with --binding vim. Wayland use depends on a compositor implementing the wlr-layer-shell protocol, typically a wlroots-based compositor. Clipboard pasting uses wl-paste and xclip at runtime, in that order. Building requires a C compiler, and scdoc is needed to generate the man page. The project also documents macOS build steps using Homebrew prerequisites and a build-osx.sh flow; its provided Nix expression installs only the curses backend. The client program and sources other than the library and bindings use GNU GPLv3 or later, while the library and bindings use GNU LGPLv3 or later. The project lists pinentry-bemenu as an integration. bemenu is free and open source, with no paid plans or usage limits stated.

Spec sheet

Purpose
bemenu is a dynamic menu library and client program inspired by dmenu.Read 10 Oct 2026 · github.com
Additional integration
The project lists pinentry-bemenu, a Pinentry implementation based on bemenu, as a project using it.Read 10 Oct 2026 · github.com
Backends
The available build targets include X11, Wayland, and curses backends.Read 10 Oct 2026 · github.com
Build options
The documented build targets include the bemenu and bemenu-run clients and curses, X11, and Wayland backends.Read 9 Oct 2026 · github.com
Build requirements
Building requires a C compiler, and scdoc is needed to generate the man page.Read 10 Oct 2026 · github.com
Clients
The project provides the bemenu and bemenu-run clients.Read 10 Oct 2026 · github.com
Clipboard
Clipboard pasting uses wl-paste and xclip at runtime, attempted in that order.Read 9 Oct 2026 · github.com
Clipboard integration
Clipboard pasting uses wl-paste and xclip at runtime, attempted in that order.Read 10 Oct 2026 · github.com
Customization
Environment variables can set options, choose a backend, select renderer paths, and override rendering scale.Read 10 Oct 2026 · github.com
Install scope
The README says the provided Nix expression installs only the curses backend.Read 9 Oct 2026 · github.com
Integration
The README lists pinentry-bemenu as a project using bemenu.Read 9 Oct 2026 · github.com
Keyboard controls
Default keybindings support navigation, filtering, selection, execution, and multi-selection.Read 10 Oct 2026 · github.com
Licensing
The client program and other sources are under GNU GPLv3 or later, while the library and bindings are under GNU LGPLv3 or later.Read 10 Oct 2026 · github.com
macOS build
The README provides macOS build instructions using Homebrew prerequisites and build-osx.sh.Read 9 Oct 2026 · github.com
macOS installation
The README documents building on OSX with Homebrew prerequisites GNU Make and pkg-config, and also provides a build-osx.sh flow.Read 10 Oct 2026 · github.com
Release security
The README says releases are signed with the listed PGP key and published on GitHub.Read 10 Oct 2026 · github.com
Release signing
The README says releases are signed with key 29317348D687B86B and published on GitHub.Read 9 Oct 2026 · github.com
Vim bindings
Vim-style normal-mode bindings can be enabled with the --binding vim option.Read 10 Oct 2026 · github.com
Wayland compatibility
Wayland support requires a compositor implementing the wlr-layer-shell protocol, typically a wlroots-based compositor.Read 9 Oct 2026 · github.com
Wayland support
Wayland is supported only by compositors implementing the wlr-layer-shell protocol, typically wlroots-based compositors.Read 10 Oct 2026 · github.com

Plans and prices

bemenu Free No paid plans or usage limits stated; GPLv3 client and LGPLv3 library Read 10 Oct 2026 · github.com

Every bemenu plan and price →

Strong points and limits

Strong points

  • Provides bemenu and bemenu-run clients
  • Build targets include curses, X11, and Wayland
  • Offers optional Vim-style keyboard bindings
  • Free and open source

Limits

  • Wayland requires a wlr-layer-shell compositor
  • Building requires a C compiler
  • scdoc is needed to generate the man page
  • Nix expression installs only the curses backend

Who it suits

bemenu suits Linux or macOS users who want a configurable menu client and can build or install the backend suited to their environment. Wayland users need a compatible compositor.

Verdict

bemenu offers multiple backends and configurable keyboard and environment options. Its Wayland compatibility depends on the compositor, and its build requirements are worth checking first.

Where Specifiction places it

Alternatives to bemenuAll alternatives →