flexstatus is a status bar generator to use with programs like Dzen2 or lemonbar.
So why yet another program to generate status updates? I originally started with yabar (which I really like) but it seems to pick random y locations and so is not usable for me. My intent is to replace my panel.sh shellscript since I hate that it can take upto a second to reflect the proper workspace name.
Here's what it implements now/features:
- Date/Time (ie a clock)
- Workspace name (updated in realtime) (or it can display a crude pager or n/n if you prefer)
- Static Text (for buttons)
- Periodically poll a file, with configurable sleep duration
- Periodically poll a command, with configurable sleep duration
- Bar agnostic. It uses Go templates to support different bars
- Stream from a command in the background - New
- Stream updates from a file (ie a FIFO) - New
- Multiple pollers, each with their own sleep duration
- Multiple streamers
- MPD info? (hehe, just found https://github.com/fhs/gompd)
- Define template variables (to DRY up your templates)
- Will optionally run a bar (to keep it all in once mostly)
- More widgets? IDK, I don't want to compete with Conky since the two compliment each other quite well.
My bar config
Uses Go so you need Go setup (including GOPATH):
go get -u github.com/vhodges/flexstatus
Will leave the flexstatus binary in $GOPATH/bin
I'll look into building downloadable releases with binaries and/or packaging it up for the AUR
./flexstatus -config sample_widgets.toml
If the config file can't be found (or errors when loading it) it adds a clock and a version string to the bar so you can at least see something.
The config file defaults to $HOME/.flexstatus_widgets.toml if not specified on the command line.
There are a fair amount of tools for this kind of thing (I'll add more as I find them):
- https://github.com/l3pp4rd/statusbar (Go, only works with dzen2).
- https://github.com/ibabushkin/bartender (Rust, I like this as it solves problems I also am having, but alas I think it's too low level)