DWM window manager [2]
2025-04-23
the simpler the better
Mucking around with DWM proves the old adge that less is more. So far I haven't needed to add any of the myriad of patches available for DWM, it works as it is for me.
I've tried dwm-blocks but right now I'm using dwm-bar as I like the battery icon to update along with the charge.
I have edited config.h though and changed the keybindings to work better with a French keyboard and launch a few apps.
Editing config.h is an ongoing job, but you can see a snapshot here
ST is the default terminal emulator for DWM but I rather like Ghostty even if it consumes a bit more
memory. Adding window-decoration = none to .config/ghostty/config makes it look better in DWM.
I also added gtk-single-instance = true to make ghostty's startup faster.
Being able to swap between display layouts on the fly is cool. I mostly use monocle layout, but flipping to tiling or floating comes in handy.
I removed the lightdm display manager and installed Slim. Here is my .xinitrc
#!/bin/sh
# Source global X session scripts.
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
bluetooth off
clipmenud &
xscreensaver --no-splash &
ghostty &
feh --bg-scale --randomize ~/Pictures/wallpaper/* &
~/.local/src/dwm-bar/dwm_bar.sh &
# if dwm exits 0, restart -- this allows hot reloading of config.h
while type dwm >/dev/null ; do dwm && continue || break ; done
And here is my DWM configuration file (it probably isn't the latest version)
config.h