eufon/blinkenlicht/README.md

47 lines
1.3 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-23 23:20:53 +00:00
## Plan
* [X] use gtk-layer-shell to put it in a layer
* [] update only at relevant intervals
* [] do we need file poll support? prolly not if we're calling every 200ms
* [] cache icon pixbufs
* [] update image/label widget instead of destroying
* [] allow height customisation
2022-03-23 22:58:00 +00:00
```fennel
(bar
{
:anchor [:top :right]
:orientation :horizontal
:indicators
[
(indicator {
:interval 200
:icon #(if (> loadavg 2) "sad-face" "happy-face")
})
(let [f (io.open "/tmp/statuspipe" "r")]
(indicator {
:poll [f]
:text #(f:read:sub 1 10)
}))
(indicator {
:interval 5000
:text #(.. (disk-free-percent "/") "%")
:on-click #(spawn "baobab")
})
(indicator {
:interval 1000
:text #(os.date "%X")
})
]})
```