This is a reimplementation of my previous rustbar project.
While rustbar was intended for use in sway/i3, rbtso is intended for use with Spectrwm.
This is done by setting the bar_action
setting in spectrwm.conf
to the rbtso binary.
Displays the currently running song with mpc.
I use Arch linux and the checkupdates
script which is included with pacman-contrib to check the number of updates available.
To use this with rbtso, put this line into the crontab with a suitable delay
echo $(checkupdates | wc -l) > ~/.local/share/updates
I also run this command when I update my system, that way the statusbar immediately updates to 0 after updating. I have it set up as a keybinding in spectrwm, however a shell alias would work just fine
Note: I no longer use this, as I am now on NixOS, but I’ve left the code in the repository.
Rbtso uses taskwarrior to display the most urgent task in the status bar.
In order to use this, the following must be in the .taskrc file.
report.statbar.description = Displays pending tasks in order of descending urgency
report.statbar.columns = description.truncated_count,due.relative
report.statbar.labels = Description,Due
report.statbar.filter = status:pending
report.statbar.sort = urgency-
Obviously this can be modified to display the particular information necessary.
This is used by rbtso, which runs task rc.verbose: limit:1 statbar
to get the most urgent task
Note: I no longer use this, but I’ve left the code in the repository.
I use newsboat for my rss feed reading. Rbtso runs newsboat -x print-unread
to display the number of unread articles.
I also run newsboat -x reload
on a cronjob to update my rss feeds.
Due to the fact that newsboat cannot run multiple instances, Rbtso displays “open” in grey for this widget when newsboat is open.
Note: I no longer use this, as I now use elfeed for my rss reading, but I have again left the code in the repository.
The network widget uses nmcli to get the current active connection.
The volume widget assumes pulseaudio and pamixer are installed.
The battery widget is designed not to use any external programs, thus it should work out of the box