bemenu vs Rofi
bemenu
github.comRofi
davatorium.github.ioSide by side
| Figure | bemenu | Rofi |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · App Launcher Software | 8.4 (#8) | 7.3 (#27) |
| Spec score · App launchers | 8.4 (#10) | 7.8 (#17) |
| Spec score · App Launchers | 8.3 (#12) | 7.8 (#16) |
| Backends | The available build targets include X11, Wayland, and curses backends. | Rofi builds with X11 and Wayland backends when available, and the build can disable either backend. |
| Customization | Environment variables can set options, choose a backend, select renderer paths, and override rendering scale. | Configuration can be set through a system configuration file, a Rasi theme file, or command-line options. |
| macOS installation | The README documents building on OSX with Homebrew prerequisites GNU Make and pkg-config, and also provides a build-osx.sh flow. | The installation guide says Rofi can be installed on macOS via MacPorts. |
| Purpose | bemenu is a dynamic menu library and client program inspired by dmenu. | Rofi is a window switcher, application launcher, SSH dialog, dmenu replacement, and more. |
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.
Rofi
Rofi is a free utility for Linux and macOS that combines window switching, application launching, SSH access, and menu workflows. It can move between open windows, start applications, or provide a dialog for connecting to a remote machine. Its modes include window, windowcd, run, drun, ssh, keys, script, and combi. Navigation supports keyboard and mouse input, filtering by typing, and tokenized search. A dedicated script mode can replace dmenu. Configuration can come from a system configuration file, a Rasi theme file, or command-line options. Rofi builds with X11 and Wayland backends when available, and either can be disabled. Installation guidance covers Debian or Ubuntu, Fedora, Arch Linux, Gentoo, openSUSE, and FreeBSD; macOS installation is through MacPorts. The downloads page lists release archives, with version 1.7.9 as its newest listed release. Development versions have no tarball release; the installation instructions explain how to obtain and compile one. Support links lead to GitHub issues and discussions.