Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. App launchers
  3. bemenu

bemenu

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. The project documents environment variables for configuring options, backend selection, renderer paths, and rendering scale. It also includes default keyboard controls and optional Vim-style bindings enabled with the --binding vim option.

Wayland use depends on a compositor that implements the wlr-layer-shell protocol, typically one based on wlroots. Clipboard pasting uses wl-paste and xclip at runtime, trying them in that order. Building requires a C compiler; scdoc is needed to generate the man page. The project documents macOS build instructions using Homebrew prerequisites and a build-osx.sh process. Its provided Nix expression installs only the curses backend. The client program and most sources are licensed under GNU GPLv3 or later, while the library and bindings use GNU LGPLv3 or later. bemenu is free and open source. The project lists pinentry-bemenu as an integration, and says releases are published on GitHub and signed with a PGP key.

For and against

For

  • Includes bemenu and bemenu-run clients
  • Build targets cover curses, X11, and Wayland
  • Optional Vim-style keyboard bindings
  • Free and open source

Against

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

The verdict

bemenu offers configurable menu clients and several backend build targets, with documented macOS build instructions. Users should check the build requirements and, for Wayland, compositor compatibility before choosing it.

Who it suits

bemenu may suit Linux or macOS users looking for a configurable menu client and library, especially those able to build from source. Wayland users need a compatible compositor.

Plans and prices

bemenu

Free

No paid plans or usage limits stated; GPLv3 client and LGPLv3 library

Every plan, in full

On the record

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

Alternatives to bemenu

Every alternative, ranked