status monitor

The status bar text of dwm is stored in the WM_NAME X11 property of the root window, which is managed by dwm.

It can be easily set and retrieved using standard Unix tools.

xsetroot -name $status
xprop -root -notype -f WM_NAME "8u" \
	| sed -n -r 's/WM_NAME = \"(.*)\"/\1/p'

Alternatively, instead of xsetroot also xprop can be used to set the status-bar-text.

xprop -root -set WM_NAME $status

Set The Status Using A Shell Script

while true; do
	xsetroot -name "$(date)"
	sleep 2

Set The Status Using Other Methods

There are two status monitors maintained at suckless:

slstatus - suckless status

A somewhat complex status monitor which includes all batteries.

You can read more on the project page.


Barebone status monitor with basic functions written in C. This follows the suckless philosophy, to give you an easy way to extend the source code to your needs. See the helper functions for C below, to extend it to your needs. Just check it out and keep on hacking.

git clone git://
cd dwmstatus
make PREFIX=/usr install
# add »dwmstatus 2>&1 >/dev/null &« to your .xinitrc

Status Monitors Submitted By Others

Feel free to add your own status monitors here (keeping the list sorted).

Helper Functions In The Shell

Using shell scripts very well leads to big scripts, which pull in unneeded dependencies. One solution for this is to write everything in C, which is much more efficient.

Helper Functions In C (for dwmstatus or slstatus etc.)

If you have simple C functions for gathering system information, feel free to add them here (keeping the list sorted).