1
0
mirror of https://github.com/Cloudef/bemenu synced 2024-11-26 05:58:25 +01:00
Dynamic menu library and client program inspired by dmenu
Go to file
2020-05-07 14:48:22 +09: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 menu: fix delete on multi-byte characters 2020-04-19 15:16:14 +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: use -soname, instead of -soname= 2020-05-07 14:47:42 +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