bemenu vs dmenu
bemenu
github.comdmenu
tools.suckless.orgSide by side
| Figure | bemenu | dmenu |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · App Launcher Software | 8.4 (#8) | 8.7 (#5) |
| Spec score · App launchers | 8.4 (#10) | 8.6 (#7) |
| Spec score · App Launchers | 8.3 (#12) | 8.6 (#7) |
| Customization | Environment variables can set options, choose a backend, select renderer paths, and override rendering scale. | The dmenu site links to a patches collection with contributed modifications. |
| Purpose | bemenu is a dynamic menu library and client program inspired by dmenu. | dmenu is a dynamic menu for X that manages large numbers of user-defined menu items efficiently. |
Plans
In their own words
bemenu
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.
dmenu
dmenu is a free dynamic menu for X that handles large sets of user-defined menu items and can launch commands. It runs on Linux and was originally designed for the dwm window manager. Community scripts apply it to tasks such as browsing directories, managing clipboard contents, accessing passwords, and controlling music; contributed modifications are available in a patches collection. The project provides a browsable source repository and a Git clone command. Building requires Xlib header files, and the README describes building and installing with `make clean install`, with files placed in the `/usr/local` namespace by default. The listed release is dmenu 5.4, dated 2025-08-09. Its source uses the MIT/X Consortium License, which permits use, copying, modification, distribution, sublicensing, and sale of copies subject to its conditions, while disclaiming warranties. The suckless dev mailing list is identified as a venue for user questions, development discussion, bug reports, and general discussion.