Dwm statusbar modeled after gocaudices expandable in Go through an interface.
I've written many modules for zara to replace many of scripts from my dotfiles - most luke smith scripts from over 2 years ago. Heres a list:
- internet
- time
- audio system independent volume
- OS independent batteries
- network traffic
- weather
- moonphase
- disk
- cpu
- cpubars
- memory
- georona
- pacpackages
git clone https://github.com/lordrusk/zara
then edit mods.go
to your liking. go mod tidy
to make sure you have all dependencies installed. go install
to (re)install.
The module definition of modules.NewAudio(0, 10),
would be updated like kill -44 $(pidof zara)
A dwm volume mute keybind might look like { 0, XF86XK_AudioMute, spawn, SHCMD("pamixer -t; kill -44 $(pidof gocaudices)") },
. NOTE: You're updating sig 44 because the first 34 signals are in use.
One problem I've encountered while writing scripts and programs for dwmblocks is that the script is just ran. Any information shared between runs must be stored in a file, and first run checks are checked every time the script is ran.
This is significantly different when writing modules for zara. Most of the first checks, along with things like parsing go-awk
strings into a program for re-use, can be pushed to the NewModule()
function and never need to be checked in Module.Run()
. Further, any information shared between run's can can be stored in the structure that satisfies the Module
interface. No writing to files and reading files every run.
You can also expect a lot better performance because it isn't calling an external program every time a module is updated, only running a function.
Here's a link list to other peoples modules:
dwm bars that I think are awesome! check them out and give them a star!
• sysmon I would use this if I hadn't made zara
• spoon I don't know much C but this is great
• rsblocks I don't know much Rust, but featureful and well starred, makes me wanna get my status emoji game up to par
• mblocks another great rusty bar
• integrated-status-text the way god intended
• gods ICONIC
• dwmblocks-async Awesome! I wrote this project because dwmblocks wasn't async...and I've lived without bar clickability since...maybe should have gone with this and learned C!
•Luke Smith's Dwmblocks how could I forget where it all began?