Lemon is a set of scripts that interact with lemonbar to provide a customizable status bar for your desktop environment.
There are many options for status bars out there. Many of them semi-unique scripts living in folks’ dotfiles built from the ground up that interact with lemonbar. A lot of these implementations were built to get the job done and then forgotten about. I used borrowed versions of a few of these for a few years but then became frustrated when having to modify them due to lack of extensibility and modularity.
Another option which is great is polybar - check it out if you haven’t already. I used it for a while but ran into consistent high CPU usage spikes which may or may not be fixed in later versions. I also find bash scripting fun so I wanted to move to a set up that was more bare-bones where I could create a simple script and then plug it into the bar via a configuration file. That’s why this project exists.
Here’s an example bar for what I’m running day-to-day:
Here’s the configuration I used for this bar:
Pretty straight-forward right?
As you can see the left
, center
, and right
variables are set with a list of different values. Each
of these strings reference a script in the juice
directory. The script when
called will set a font-awesome icon via utils/icon
script and then some
value.
If you’re going to use this project you’ll likely need to write some of your own juice scripts. Luckily that is easy to do. A great example of a functional simple juice
is the clock
script:
#!/bin/bash
icon clock
date '+%I:%M:%S %p'
All it does is set the icon to clock - this corresponds to font-awesome-clock and then prints out a formatted time.
For a slightly more complex example checkout juice/weather which requires a network request so it’ll cache to the filesystem in case network drops off and also to limit requests to 1 per minute.
Shoutout to @neeasade for the inspiration