Hello fellow dislikers of sucking!
After a lot of suckfull experiments (archived at
https://github.com/xandkar/khatus/), I've finally settled on what it is
that I would even want from a status bar thingie - I want ii, but for my
status bar. Here's my take on it:
https://github.com/xandkar/pista
I've been dogfooding/beta-testing pista for almost 2 years now, and
while there's certainly improvements that can be made - it reliably does
pretty much what I want.
Any constructive criticism is highly appreciated!
The main design idea is this: asynchronously read lines from N FIFOs and
route to N corresponding slots on the bar:
b +--------------+--------------+- ... ---+-------------+
a | slot_1 | slot_2 | | slot_N |
r +--------------+--------------+- ... ---+-------------+
^ ^ ^
| | |
+-+ +-+ +-+
| | | | | |
|F| |F| |F|
|I| |I| |I|
|F| |F| |F|
|O| |O| |O|
| | | | | |
|1| |2| |N|
| | | | | |
+-+ +-+ +-+
^ ^ ^
| | |
process_1 process_2 ... process_N
Each slot is given a TTL, after which, if there was no update - the slot
is cleared - helping you spot broken sensors and not fool yourself with
stale data.
What is a sensor? Anything that outputs lines of text.
What goes into a FIFO? Lines of text.
Here're the "sensors" that I currently use (which are still in flux and
not quite suckless yet):
https://github.com/xandkar/pista-sensors
I launch it all via a script such as this:
https://github.com/xandkar/pista-sensors/blob/master/example-via-tmux
which I call from ~/.xinitrc
Running it from tmux has been great - I can do runtime reconfiguration,
stop, restart the whole thing, can attach and stop/restart and or tweak
individual sensor processes, etc. - all without relaunching X.
This also makes it easy to do one-off experiments as well as temporarily
disabling things (like if I want to completely disable the weather
fetcher while I know I'm going to be offline for a long time).
-- xand
Received on Fri Oct 22 2021 - 16:04:22 CEST