2014-03-18 17:20:33 +01:00
|
|
|
bemenu
|
|
|
|
======
|
|
|
|
|
|
|
|
Dynamic menu library and client program inspired by dmenu
|
2014-03-18 18:31:50 +01:00
|
|
|
|
2020-02-07 14:56:50 +01:00
|
|
|
## Building
|
|
|
|
|
|
|
|
```sh
|
|
|
|
# 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 renderer:
|
|
|
|
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.
|
2019-03-24 14:57:48 +01:00
|
|
|
|
2020-02-07 14:56:50 +01:00
|
|
|
# By default that will install to /usr/local, but you can change this with PREFIX
|
|
|
|
make install PREFIX=/usr
|
2019-03-24 14:57:48 +01:00
|
|
|
|
2020-02-07 14:56:50 +01:00
|
|
|
# Other usual variables are available for modifying such as DESTDIR, bindir, libdir and mandir
|
|
|
|
# Note that if you want a custom libdir, you should pass that during build as well, since it
|
|
|
|
# will be used compile-time to figure out where to load renderers from!
|
2019-03-24 14:57:48 +01:00
|
|
|
|
2020-02-07 14:56:50 +01:00
|
|
|
# HTML API documentation (requires doxygen installed):
|
|
|
|
make doxygen
|
|
|
|
```
|
2019-03-24 14:57:48 +01:00
|
|
|
|
2020-02-07 15:35:01 +01:00
|
|
|
## OSX
|
|
|
|
|
|
|
|
```sh
|
2020-02-07 15:43:38 +01:00
|
|
|
# Make sure you have GNU coreutils, GNU Make and pkg-config installed
|
|
|
|
brew install coreutils make pkg-config
|
2020-02-07 15:35:01 +01:00
|
|
|
|
|
|
|
# You may need to setup your pkg-config to point to brew version of the libraries
|
|
|
|
# For example to build curses renderer, you'd do:
|
|
|
|
PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig" gmake curses
|
|
|
|
|
|
|
|
# Other than that, follow the normal build steps, but use gmake instead of make
|
2020-02-07 15:43:38 +01:00
|
|
|
# For installs, you need to have GNU coreutils in the path:
|
|
|
|
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" gmake install
|
2020-02-07 15:35:01 +01:00
|
|
|
```
|
|
|
|
|
2020-02-07 14:56:50 +01:00
|
|
|
## Environment variables
|
|
|
|
|
|
|
|
| Variable | Description | Value |
|
|
|
|
|------------------|-----------------------------------------|----------------------|
|
|
|
|
| BEMENU_BACKEND | Forces a renderer by name | x11, wayland, curses |
|
|
|
|
| BEMENU_RENDERER | Forces a renderer by loading a .so file | Path to the .so file |
|
|
|
|
| BEMENU_RENDERERS | Override renderer load directory | Path to a directory |
|
|
|
|
|
|
|
|
## About Wayland support
|
|
|
|
|
|
|
|
Wayland is only supported by compositors that implement the [wlr-layer-shell](https://github.com/swaywm/wlr-protocols/tree/master/unstable) protocol.
|
|
|
|
Typically [wlroots](https://github.com/swaywm/wlroots)-based compositors.
|
2019-03-24 14:57:48 +01:00
|
|
|
|
2014-03-18 18:31:50 +01:00
|
|
|
## License
|
2020-02-07 14:56:50 +01:00
|
|
|
|
2014-03-18 20:20:11 +01:00
|
|
|
* [GNU GPLv3 (or any later version)](LICENSE-CLIENT) for client program[s] and
|
|
|
|
other sources except library and bindings
|
|
|
|
* [GNU LGPLv3 (or any later version)](LICENSE-LIB) for library and bindings
|