A Flexible Status Bar Tool
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
widgets
LICENSE.md
README.md
config.go
flexstatus.go
sample_widgets.toml

README.md

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.

Features

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

Coming Eventually

  • 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

https://github.com/vhodges/dotfiles/tree/master/statusbar

Building/Running

Building:

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

Running:

  ./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.

Similar/Related

There are a fair amount of tools for this kind of thing (I'll add more as I find them):

License - MIT