forked from RepoMirrors/bemenu
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. |
||
---|---|---|
.github | ||
client | ||
doxygen | ||
lib | ||
man | ||
.editorconfig | ||
.gitignore | ||
bemenu.pc.in | ||
build-osx.sh | ||
GNUmakefile | ||
LICENSE-CLIENT | ||
LICENSE-LIB | ||
README.md | ||
VERSION |
bemenu
Dynamic menu library and client program inspired by dmenu
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
- GNU GPLv3 (or any later version) for client program[s] and other sources except library and bindings
- GNU LGPLv3 (or any later version) for library and bindings