eufon/blinkenlicht/README.md

53 lines
1.9 KiB
Markdown
Raw Normal View History

2022-03-23 22:58:00 +00:00
# Blinkenlicht
Yet another "bar" program for wlroots-basd Wayland compositors, but
this one is written in [Fennel](https://fennel-lang.org/) and
therefore better than all the others because it is more niche.
More seriously: you might prefer this over another status bar program
if you want fine-grained control over what is shown in your bar and
you are happy to exert that control in a Lua-based Lisp language.
2022-03-24 23:01:07 +00:00
## Current status and usage
Not quite dogfood-ready yet, but fast approaching.
* bl.fnl is an example, using licht.css for its styling
2022-03-24 23:01:07 +00:00
* blinkenlicht.fnl is the module that parses `bar` and `indicator`
forms and does all the UI
* metric/*.fnl is a collection of modules that read metrics (load
average, connectivity, battery status etc) from the system, for
indicators to display.
2022-03-24 23:01:07 +00:00
Use the `default.nix` for guidance as to libraries and other setup
required - or just use it, of course.
nix-shell
lua $fennel bl.fnl
2022-03-25 11:00:51 +00:00
The funny symbols in bl.fnl are code points that exist only in the
"Font Awesome" font, and render to handy icons like "battery, half
empty". You need to install Font Awesome to see them; however due to
the Gtk font fallback system - at least, that's what I think is doing
it - you don't actually need to specify that font in your CSS because
Gtk will find it anyway. Magic.
2022-03-24 23:01:07 +00:00
2022-03-23 23:20:53 +00:00
## Plan
* [X] use gtk-layer-shell to put it in a layer
2022-03-24 12:14:08 +00:00
* [X] update only at relevant intervals
* [X] cache icon pixbufs
2022-03-26 18:10:40 +00:00
* [X] add some mechanism for indicators that wait for events instead of polling
* [X] set indicator background colour (use css for this?)
2022-03-24 23:02:24 +00:00
* [ ] update image/label widget instead of destroying
* [ ] allow image height customisation
* [X] set poll interval based on indicators' requested intervals
* [X] allow indicator to change styles based on status
2022-03-26 18:10:40 +00:00
* [ ] add metrics for
- [X] wireless connected/strength
2022-03-26 18:10:40 +00:00
- wwan connected/type (hspa, lte, etc)/signal
- cpu %