System information agregator
Go to file
2024-09-06 06:48:40 -04:00
lib change license to GNU GPLv3 2024-08-25 02:27:55 -04:00
.editorconfig switch tab width to 4 and remove unneeded property 2024-08-24 03:22:34 -04:00
.gitignore name change and more modules added. config not started. 2024-08-14 12:28:29 -04:00
config.go change license to GNU GPLv3 2024-08-25 02:27:55 -04:00
go.mod allow setting the x root window name 2024-08-20 22:33:37 +00:00
go.sum allow setting the x root window name 2024-08-20 22:33:37 +00:00
LICENSE change license to GNU GPLv3 2024-08-25 02:27:55 -04:00
main.go pass update function to monitorUpdates 2024-09-06 06:48:40 -04:00
README.md add todo 2024-08-25 01:19:36 -04:00

modbot

modbot is a seriously over-engineered program for querying different information about your system. Often used with a status bar like dzen, lemonbar, or even the dwm status bar via the -x flag.

Each part of the output is a module, and modbot is an agregator for these modules. You can query different information about your system like load average, CPU temperature, wireless SSID, and even the output of an arbitrary command or file.

The modules that are in the output are determined at compile time, within the config.go file.

Attributions

This project was inspired by gocaudices, which I've used in the past. I created this to be window manager and status bar agnostic, in addition to allowing more options for where the input comes from.

Some ideas for how special cases should be handled were taken from mblocks, which is another great project in the same vein as this.

Usage

Usage of modbot:
  -x    set x root window name

Information

  • If an empty string is returned from a module, then the corresponding module will not be displayed.
  • If a module returns a non-nil value for its error, or if the exit code of an exec module is non-zero, then failed will be shown for the corresponding module.
  • Modules can be updated on an interval, signal, or both.

TODO

  • Iterate over the batteries found if a battery wasn't specified
  • Do more testing if the current async implementation is safe
  • Implement disk_io and disk_usage modules