Go to file
Jari Vetoniemi d9f4d1bb12 cairo: don't draw left scroll indicator if empty
If there are no matches the left indicator would be still drawn as black
box. If filter string is long enough, this black box would cover part of
the filter string.
2020-05-08 12:20:35 +03:00
.github README: add preview 2020-02-08 11:21:39 +02:00
client wayland: support showing bemenu on all monitors 2020-03-25 19:16:57 +02:00
doxygen html: add missing Doxyfile 2020-02-08 10:47:31 +02:00
lib cairo: don't draw left scroll indicator if empty 2020-05-08 12:20:35 +03:00
man wayland: support showing bemenu on all monitors 2020-03-25 19:16:57 +02:00
.editorconfig Add .editorconfig 2018-04-08 11:05:52 -04:00
.gitignore .gitignore: Ignore everything 2020-02-07 16:04:01 +02:00
bemenu.pc.in make: provide a .pc file 2020-02-08 10:49:22 +02:00
build-osx.sh make: osx uses install_name instead of soname ... 2020-05-07 14:48:22 +09:00
GNUmakefile make: do not break the documented make/install way 2020-05-07 14:54:09 +09:00
LICENSE-CLIENT Add license for client[s] 2014-03-18 20:12:00 +01:00
LICENSE-LIB Add license for library and binding[s] 2014-03-18 20:15:05 +01:00
README.md make: osx uses install_name instead of soname ... 2020-05-07 14:48:22 +09:00
VERSION bugfix release 0.4.1 2020-04-13 12:30:57 +03:00

bemenu

Dynamic menu library and client program inspired by dmenu

preview

Building

# Build everything
make

# To build only certain features, pass the targets which you are interested into
#
# You can also use the following meta-targets for common features:
# - clients (bemenu, bemenu-run)
# - x11
# - wayland
# - curses
#
# For example this would build the bemenu and bemenu-run binaries and the x11 backend:
make clients x11

# To install the built features, simply run:
make install

# NOTE: You may get errors during install when not building all the features.
#       These errors are free to ignore if `Install OK!` is printed.

# By default that will install to /usr/local, but you can change this with PREFIX
make install PREFIX=/usr

# Other usual variables are available for modifying such as DESTDIR, bindir, libdir and mandir
# Note that if you want a custom PREFIX or libdir, you should pass those during build as well,
# since they will be used compile-time to figure out where to load backends from!

# HTML API documentation (requires doxygen installed):
make doxygen

# To test from source, you have to point the LD_LIBRARY_PATH and BEMENU_RENDERERS variables:
LD_LIBRARY_PATH=. BEMENU_RENDERERS=. ./bemenu-run

OSX

# Make sure you have GNU Make and pkg-config installed
brew install make pkg-config

# You may need to setup your pkg-config to point to the brew version of the libraries
# For example to build curses backend, you'd do:
PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig" sh build-osx.sh curses

# Other than that, follow the normal build steps, but use `build-osx.sh` instead of make

Dependencies

All dependencies are searched with pkg-config

Backend Dependencies
curses ncursesw
x11 x11, xinerama, cairo, pango, pangocairo
Wayland wayland-client, wayland-protocols, cairo, pango, pangocairo, xkbcommon

Environment variables

Variable Description Value
BEMENU_OPTS Options for bemenu, bemenu-run from env Any cli argument
BEMENU_BACKEND Force backend by name x11, wayland, curses
BEMENU_RENDERER Force backend by loading a .so file Path to the .so file
BEMENU_RENDERERS Override the backend search path Path to a directory

About Wayland support

Wayland is only supported by compositors that implement the wlr-layer-shell protocol. Typically wlroots-based compositors.

License