This repository contains widgets that I use with eww on my Hyprland-based desktop:
cobble-clock
: Tracks the system time in a power-efficient fashion by sleeping between updates, only waking once per minute (on the minute) to update the widget state.cobble-audio
: Listens for Wireplumber events to keep track of the volume of the default audio sink.cobble-network
: Listens for changes in the state of network interfaces and wireless devices to track the connection state of the machine.cobble-workspaces
: Listens for events from Hyprland to track changes in the state of Hyprland workspaces.
The goal for these widgets to be as power-efficient as possible. In this case,
that means reasonably small memory footprints, providing interfaces compatible
with eww's deflisten
widget mechanism and sleeping as much as possible.
As a consequence of needing to communicate directly with Wireplumber, this
repository also contains safe bindings for libwireplumber-0.5
.
First, generate the unsafe bindings for libwireplumber-0.5
using gir.
Then build cobble-bar
as normal:
$ (cd wireplumber-sys && gir -o .)
$ (cd cobble-bar && cargo build)