dwm fork

dwm is an extremely fast, small, and dynamic window manager for X.

View on GitHubDWM

This patch allows for easy switching between original tag names and custom active/empty tag names. tags array is used to determine how many window tags to draw. To reduce the amount of windows, simply remove some entries from there. To have windows in use, but not draw them if they are empty, use hide vacant tags patch.

Entries can be anything, but this patches uses Nerd font icons.

dwm patches

I’m currently using Hyprland Wayland compositor, but to see an example of patched dwm, check out my latest dots with that contain sources for Suckless programs. Patches include:

  • barpadding
  • attachbottom
  • fullgaps
  • cfacts
  • monoclesymbol
  • movestack
  • noborder
  • pertag
  • resizecorners
  • destroyfocus
  • spawn-cwd
  • notitle
  • cursorwarp

Instalation

Edit config.mk to match your local setup (dwm is installed into the /usr/local namespace by default).

Afterwards enter the following command to build and install dwm (if necessary as root):

make clean install

Running dwm

Add the following line to your .xinitrc to start dwm using startx:

exec dwm

In order to connect dwm to a specific display, make sure that the DISPLAY environment variable is set correctly, e.g.:

DISPLAY=foo.bar:1 exec dwm

(This will start dwm on display :1 of the host foo.bar.)

In order to display status info in the bar, you can do something like this in your .xinitrc:

while xsetroot -name "`date` `uptime | sed 's/.*,//'`"
do
	sleep 1
done &
exec dwm

Configuration

The configuration of dwm is done by creating a custom config.h and (re)compiling the source code.