Thanks, Alan. Yeah - using ii was like a chakra opening experience for me - I felt the enlightenment flow through my whole body.

On 10/23/21 07:38, Alan Morgan wrote:
That's great. I actually joined this mailing list recently, because of finding
out about "ii". It's nice to see another project doing something similar.

On 22 Oct 2021, at 15:07, dev mail list wrote:
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).

Reply via email to