bemenu 1.0.0
Dynamic menu library and client program inspired by dmenu
Main Page

bemenu is a dynamic menu library and client program inspired by dmenu. You can create flexible menu oriented programs using the library interface in your favorite language that has bemenu bindings available.

Unlike old dmenu approach, with library you don't have to feed unneccessary metadata into client program and parse the result. Instead your program will be aware of the items and possible metadata inside the menu. It's also possible to use multiple menus or dynamically remove/insert items.


  • Multiple layouts
  • Different filtering algorithms:
    • Vanilla dmenu filtering
  • Rendering backends (UI toolkits are loaded dynamically, not depended):
    • Wayland (cairo + pango)
    • X11 (cairo + pango)
    • Curses

bemenu also provides 'bemenu' and 'bemenu-run' executables that are compatible with dmenu interface.

Get started on the Modules page.