Compile Lemonbar Xft on Debian 10 Buster
This post is archived. Opinions expressed herein may no longer represent my current views. Links, images and other media might not work as intended. Information may be out of date. For further questions contact me.
Lemonbar is a lightweight program that draws a panel on the viewport. The information on display is whatever is pipped to it.
The problem: upstream only works with bitmap fonts
lemonbar lacks support for proportional fonts and the
corresponding interface with
This is a disappointment because fixed/bitmap typefaces leave much to be desired:
- support for Greek glyphs is limited to a handful of typefaces such as
- the quality of bold variants can be lower than the regular ones;
- only specific point sizes work well;
- colours are less distinct on a light background.
The solution: compile lemonbar-xft (my fork)
There is a popular alternative by GitHub user krypt-n that provides
Xft support, but seems to have been
So I have decided to pick it up and maintain it. To make sure it syncs
master branch and builds correctly.
So let us get going. First we need to get the build dependencies for Debian 10 Buster:
sudo apt install build-essential libx11-dev libxft-dev libx11-xcb-dev libxcb-randr0-dev libxcb-xinerama0-dev
Now clone my
git clone https://gitlab.com/protesilaos/lemonbar-xft.git
Switch to that directory:
Compile it and install it system-wide:
make sudo make install
Or if you are like me, compile it just for your current user, by placing
the artifacts in your home directory. This assumes you have configured
$HOME/bin to be part of
make PREFIX="$HOME" install
Uninstalling it requires the same steps, except you just pass the
lemonbar can use any typeface supported by
Make sure you
apt remove lemonbar in case you had the upstream
I generally stick to the packages provided by Debian. This is an exception because:
- Lemonbar is developed at a slow pace, so I can afford to inspect all commits.
- It is a small program that compiles in virtually no time. I am fairly confident that combined with the above, the compilation process will not become more complex in the foreseeable future.
- Upstream does not offer any good reason why it does not consider Xft support (see #188). This leads me to believe that there will be no progress on this front, at least not with how things currently stand.
The above granted, I am still not sure whether I will make changes to my
custom desktop session, which
still uses upstream
lemonbar. I might just add a reference in my
Prot’s Dots For Debian for users that
want to follow the instruction documented herein.