bemenu Documentation

repository·master·Indexed 23 days ago

https://github.com/cloudef/bemenu

A dynamic menu library and client program inspired by dmenu, supporting X11, Wayland, and curses backends. Includes instructions for building from source via make, installation on OSX and Nix, and references for environment variables, default keybindings, and vim-style bindings.

Tokens
723
Snippets
2
Records
7
Agent score
31%

What's inside bemenu

  1. Install bemenu on OSX

    master

    On OSX, use build-osx.sh instead of make. Ensure make and pkg-config are installed via Homebrew. If you need to build the curses backend, you may need to point pkg-config to your ncurses installation.

    Example for curses backend:

    PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig" sh build-osx.sh curses
  2. Build and install bemenu from source

    master

    You can build bemenu using make. To build all features, simply run make. To build specific features, pass the desired targets.

    Common meta-targets:

    • clients: builds bemenu and bemenu-run binaries.
    • x11: builds the X11 backend.
    • wayland: builds the Wayland backend.
    • curses: builds the curses backend.

    Example: To build the client binaries and the X11 backend, use make clients x11.

    To install the built features, run make install. You can specify a custom installation directory using the PREFIX variable (e.g., make install PREFIX=/usr). Note that if you use a custom PREFIX or libdir, you must also pass those during the build phase so the binaries know where to find the backends at runtime.

  3. Setup the Qmi theme for Doxygen

    master

    To apply the Qmi (Qt Minimal) theme to your Doxygen HTML documentation, you must modify your Doxyfile configuration. The theme mimics the official Qt4 documentation style.

    Update the following keys in your Doxyfile:

    Project section

    Set BRIEF_MEMBER_DESC to NO to match the theme's layout.

    HTML section

    Point the header, footer, and stylesheet paths to the Qmi theme files using the absolute path to the theme directory (${path_to_qmi}).

    Required Assets

    Depending on which Doxygen features you have enabled, you must manually copy additional assets into your output HTML directory:

    • Tree navigation panel: Copy the contents of the navtree directory to your documentation's HTML output directory.
    • Search feature: Copy the contents of the search directory to the html/search directory in your output.
    # Project section
    BRIEF_MEMBER_DESC = NO
    
    # HTML section
    HTML_HEADER = ${path_to_qmi}/header.html
    HTML_FOOTER = ${path_to_qmi}/footer.html
    HTML_STYLESHEET = ${path_to_qmi}/qmi.css
  4. Reference: bemenu vim keybindings

    master
    Activate vim-style bindings using the --binding vim option. When activated, bemenu starts in insert mode. Pressing escape enters normal mode. Default bindings still work for actions without specific vim mappings (like launching or pasting).