dwmblocks is the statusbar command which hosts many customizable and extensible modules.

dwmblocks and its weather forecast, doppler radar and Bitcoin price monitors open.


dwmblocks runs automatically when dwm starts, appearing as many modules in the top right, and will update as needed.

Right click on the active modules for an informational message about them.

Left and middle clicking, and sometime scrolling, often have some functional reaction, like bringing up a relevant program.


There are modules for time and date, laptop battery, internet and volume that should be self-explanatory.

There are also modules a three-day weather forecast from wttr.in and the module with a 🌅 even allows you to view a Doppler RADAR of your chosen location.

There are other user-submitted modules, for IP locations, keyboard selection, memory and CPU monitoring and more.


Signals and updating

In the config.h file, you will notice that each statusbar module should have a unique “Update Signal.” For modules that need to update at set events, you

For example, the sb-volume module has the update signal 10 by default. If we manually run the command:

wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+

This happens to increase the volume, but the module does not update with the new volume by default. We also want to signal to dwmblocks to update this module by sending it signal 10:

pkill -RTMIN+10 dwmblocks

This will now update the module. Although, pkill is slightly slower than the command kill, which can make a big difference if we are making semi-frequent changes in a script. To signal with kill, we must send the value plus 34. Just remember 34.

So 10 + 34 = 44, so we use this command:

kill -44 $(pidof dwmblocks)

(Note also we send the signal to the process ID of dwmblocks as well.)

Source code