The indicator is based on XCB-XKB and `libxkbcommon`. It can be tested
using the following configuration:
```
bar-list = ["bar"];
bar: {
position: "top";
block-list: ["ya_xkb"];
ya_xkb: {
exec: "YABAR_KEYBOARD_LAYOUT";
interval: 1;
};
}
```
The followinng new dependencies have been introduced:
- libxkbcommon-dev
- libxkbcommon-x11-dev
- libxcb-xkb-dev
Both work with libxcb and allow the usage of XKB through an XCB session.
In this case the session `ya.c` created by `src/ya_exec.c` can be used
for this indicator, so no extra X11 logic is needed.
As Ubuntu doesn't provide `playerctl` by default, it's better to make
this optional.
Furthermore another build with playerctl support has been added to the
CI matrix.
* redraw on exposure
* add override redirect and remove whitespace
* init all strut values to 0
* fix bspwm window order
* add icccm to travis
* add bspwm flag
Just like the CFLAGS variable, the LDLIBS variable should be
extensible with environment variables.
This is for example required because Debian packages (should be)
built with special hardening flags:
https://wiki.debian.org/Hardening
For various enviroment it is very valuable to have externally
overwriteable versions (such as distribution packaging, where
a maintainer wants to set a specfic version).
Also, not all build enviroments have git available (e.g. Debian),
therefore the expression `$(shell git describe)` would be evaluated
to ''. This patches makes the version variable used in the Makefile
overwriteable with an environment variable.
The Makefile builds object files in src/ and src/intern_blks/,
however the clean target only deleted object files inside src/
Now the clean target deletes object files in src/, src/intern_blks/
and the program itself