Overlay Bar for Sway
I recently found out about a cool software that I hadn’t heard of until now. It is right up my alley, and I wanted to write this short post to gush about it for a bit.
The program is called Wayland Overlay Bar (wob). It can be used to create simple progress/status bars for programs. The nice thing about it, is that it just takes an integer on a named pipe, and displays the value of that integer as a graphical bar.
Installation and configuration is very simple. After installing the program, you can create a named pipe, and connect that pipe to the stdin of wob:
mkfifo /tmp/wobpipe
tail -f /tmp/wobpipe | wob
For convenience, wob also provides a systemd socket file. The command below
creates a wob pipe under $XDG_RUNTIME_DIR/wob.socket
that is accessible to
the current user.
systemctl --user enable wob.socket --now
I mainly use it for volume and brightness control. To make it work in sway, only a slight modification of my commands was necessary:
set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock
bindsym XF86AudioLowerVolume exec pamixer --decrease 5 && pamixer --get-volume > $WOBSOCK
bindsym XF86AudioRaiseVolume exec pamixer --increase 5 && pamixer --get-volume > $WOBSOCK
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 && xbacklight -get > $WOBSOCK
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 && xbacklight -get > $WOBSOCK
I love the simplicity and flexibility of this program. I really see myself using this often in the future.