FREEDOM251

Freedom251 › App Launcher Software

bemenu

Free plan LinuxMac

Visit bemenu Alternatives Pricing

bemenu's own site

What bemenu is

bemenu is a dynamic menu library and client program inspired by dmenu. The project provides 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 README documents default keyboard controls and optional Vim-style bindings, enabled with the --binding vim option.

Wayland use requires a compositor implementing the wlr-layer-shell protocol, typically one based on wlroots. Clipboard pasting uses wl-paste and xclip at runtime, attempted in that order. Building requires a C compiler, and scdoc is needed to generate the man page. The project documents macOS build instructions using Homebrew prerequisites and build-osx.sh; its provided Nix expression installs only the curses backend. The client program and most sources use GNU GPLv3 or later, while the library and bindings use GNU LGPLv3 or later. bemenu is free and open source, with no paid plans or usage limits stated.

Who it suits

bemenu suits people who want a configurable dynamic menu client or library and are comfortable building software. Wayland users need a compositor that implements wlr-layer-shell.

What it does well

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

What to know first

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

Limits

No paid plans or usage limits are stated. The provided Nix expression installs only the curses backend, and Wayland use requires a compositor implementing wlr-layer-shell.

Plans

PlanBilled and limitsPrice
bemenuNo paid plans or usage limits stated; GPLv3 client and LGPLv3 libraryFree

As github.com lists them, read 10 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit the bemenu GitHub project.
  2. Install a C compiler; install scdoc if you need to generate the man page.
  3. Choose a build target and backend: curses, X11, or Wayland.
  4. For macOS, follow the documented Homebrew prerequisites and build-osx.sh flow.
  5. Use the bemenu or bemenu-run client and configure options through environment variables.

bemenu is a dynamic menu library and client program inspired by dmenu, aimed at users who want a configurable, keyboard-driven menu and are comfortable building software. Its choice of clients and backends is useful, but Wayland compatibility depends on the compositor and it lacks file search and workflow support.

Overview

The project provides the bemenu and bemenu-run clients, with build targets for curses, X11, and Wayland. That flexibility lets users match the interface to their setup, but bemenu is a build-oriented tool rather than a polished, ready-to-use launcher. Building requires a C compiler; generating the man page also requires scdoc. The provided Nix expression installs only the curses backend, which limits that route to terminal use.

Command launching is supported, while file search and workflow support are not. The project also identifies pinentry-bemenu, a Pinentry implementation based on bemenu, as an integration.

Key features

Backend and client options

Curses, X11, and Wayland targets cover distinct environments, and having both bemenu and bemenu-run gives users two client choices. The Wayland option has a specific constraint: the compositor must implement wlr-layer-shell, as wlroots-based compositors typically do. Anyone on a different Wayland compositor should confirm compatibility before choosing bemenu.

Keyboard controls and configuration

Documented environment variables let users configure options, backend selection, renderer paths, and rendering scale. The README also documents default keyboard bindings and an optional Vim-style normal mode, enabled with --binding vim. That makes the tool a stronger fit for keyboard-oriented users who value control over interaction; it is less compelling for someone looking for a launcher that needs little setup.

Clipboard and release details

Clipboard pasting uses wl-paste first and tries xclip if needed, so clipboard behavior depends on those runtime tools. Releases are published on GitHub and signed with PGP key 29317348D687B86B.

Pricing

bemenu is free: the bemenu plan costs nothing, with no paid plans or usage limits stated. There is no free trial because the project is already free to use. The client and other sources use GNU GPLv3 or later, while the library and bindings use GNU LGPLv3 or later; the different licenses matter to anyone incorporating the library or distributing the client.

Platforms

Linux and macOS are supported. macOS users can build with Homebrew prerequisites GNU Make and pkg-config, or use the documented build-osx.sh flow. Linux users should choose a backend compatible with their setup; Wayland specifically requires wlr-layer-shell support from the compositor.

Who it's for

bemenu is best for Linux users who want a free, configurable menu, prefer keyboard controls, and can handle compiling and checking backend compatibility. It can also suit macOS users willing to follow the documented build process. It is a poor fit for people who need file search, workflow tools, or a launcher that works across Wayland compositors without a protocol check.

Pros and cons

  • Pros: Three backend build targets provide options for terminal, X11, and compatible Wayland environments.
  • Pros: Configurable environment variables and optional Vim-style bindings give keyboard-focused users control over menu behavior.
  • Pros: Free software with separate GPL and LGPL licensing for client and library components.
  • Cons: Wayland support requires wlr-layer-shell, excluding compositors that do not implement it.
  • Cons: Building requires a C compiler, and man-page generation needs scdoc, adding setup work.
  • Cons: It supports command launching but not file search or workflow support.

Alternatives

If you want a launcher with a different platform range or pricing model, consider Launchy, which is free to download with a recommended value of $10 USD and a suggested $3 contribution. Raycast may suit users seeking a freemium option with extensions, Clipboard History, and Notes; its free plan includes three months of Clipboard History and five Notes. For macOS users who want app launching and file searching in a free core, Alfred is an option, with a $34.00 USD one-time Single License for one user on two of their own Macs.

Cerebro is another free, open-source option for Linux, macOS, and Windows. PortableApps.com Platform is free and open source under GPL, with some MIT and CC components, for users considering a platform spanning Linux, macOS, and Windows. Ueli offers a free option across Linux, macOS, and Windows. Appetizer is a free, open-source alternative for Windows-oriented use. If you specifically want the X11 dynamic menu that inspired bemenu, dmenu is free for Linux under the MIT/X Consortium License.

Browse more options in App Launcher Software.

Verdict

Choose bemenu if you want a free, configurable menu with multiple build targets and keyboard controls, and can meet its build requirements. Its main advantage is backend and behavior flexibility; look elsewhere if you need file search or workflow support, or if your Wayland compositor lacks wlr-layer-shell.

Verdict

bemenu offers several backend build targets and configurable keyboard behavior, with licensing that differs between the client and library. Check the Wayland compositor requirement and build dependencies if you plan to compile it.

Questions

How much does bemenu cost?

The bemenu plan is free. No paid plans or usage limits are stated.

Is bemenu open source?

Yes. The client program and other sources except the library and bindings use GNU GPLv3 or later; the library and bindings use GNU LGPLv3 or later.

Which platforms does it support?

The listed platforms are Linux and macOS. The project documents macOS build instructions using Homebrew prerequisites and build-osx.sh.

What backends are available?

Documented build targets include curses, X11, and Wayland. Wayland requires a compositor implementing the wlr-layer-shell protocol, typically a wlroots-based compositor.

Can I change the keyboard bindings?

The README documents default keyboard bindings and optional Vim-style bindings. Enable the latter with --binding vim.

What is needed to build it?

Building requires a C compiler, and scdoc is needed to generate the man page. The macOS instructions use Homebrew prerequisites GNU Make and pkg-config.

Facts from bemenu's own pages

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

Where bemenu stands on Freedom251

Look at these too