🏆 I provide private lessons on Emacs, Linux, and Life in general: https://protesilaos.com/coach/. Lessons continue throughout the year.

How I forked lemonbar-xft

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.

I decided to maintain my own fork of Lemonbar with support for Xft, because GitHub user krypt-n seems to have lost interest in their project.

My fork is on GitLab: https://gitlab.com/protesilaos/lemonbar-xft. Here I want to tell you the steps I followed to produce it.

Start by cloning upstream (all my links will be for SSH connections, which require an appropriately-configured GitHub account):

git clone git@github.com:LemonBoy/bar.git ~/lemonbar-upstream

Now also clone the fork with Xft support:

git clone git@github.com:krypt-n/bar.git ~/lemonbar-xft-discontinued

Switch to the upstream repo:

cd ~/lemonbar-upstream

Prepare to pull in the Xft fork:

git remote add xft ~/lemonbar-xft-discontinued
git fetch xft

Now create a new branch with the fork:

git checkout -b xft-port

Then merge master into xft-port:

git merge master

You are mostly done. I just added an extra file that explains what this fork is about. It is named “README-xft” and has the following:

Personal fork of Lemonbar with Xft support
==========================================

The purpose of this fork is to keep up with upstream while maintaining
the changes by GitHub user krypt-n who seems to have lots interest in
the project.[0]

The contributions by krypt-n allow Xft support (to use typefaces
supported by fontconfig).  Upstream Lemonbar appears to be unable or
unwilling to merge them into master.[1]

I have decided to maintain this project, because I want to use it as
part of my custom desktop session on Debian 10 Buster.[2]

[0]: https://github.com/krypt-n/bar/pull/37#issuecomment-473265449
[1]: https://github.com/LemonBoy/bar/issues/188
[2]: https://gitlab.com/protesilaos/dotfiles

Lastly, I did the following to push my fork to GitLab:

git remote add lemonbar-xft-current git@gitlab.com:protesilaos/lemonbar-xft.git
git push -u lemonbar-xft-current --all

Done! Read my previous entry on how to compile this fork on Debian 10 Buster.