dwm is an extremely fast, small, and dynamic window manager for X.
Custom bindings are commented in the config headers config.def.h.
Patches in this build are stored in /patch. They can be looked up on https://dwm.suckless.org/patches/
Patch | Description |
---|---|
cfacts-vanitygaps-6.2_combo | assign weights to clients within their stack in the layout |
systray-6.3 | a system tray implementation in dwm |
nametag-prepend-6.2 | allow custom text to be appended to tag numbers super + n |
alternativetags-6.3 | hold super + shift + a to view alternate tags |
movestack-20211115-a786211 | move clients up/down the stack |
cyclelayouts-20180524-6.2 | cycle through all layouts available super + shift + comma |
hide_vacant_tags-6.3 | hide tags with no windows for a cleaner bar |
pertag-20200914-61bb8b2 | allow setting different layouts for unique tags |
autostart-20210120-cb3f58a | loads up commands in ~/.dwm/autostart.sh |
barpadding-20211020-a786211 | add horizontal/vertical padding to the status bar |
actualfullscreen-20211013-cb3f58a | force a window to go fullscreen and hide the statusbar super + f |
restoreafterrestart-20220709-d3f93c7 | maintain client/tag ordering upon restarting dwm |
restartsig-20180523-6.2 | kill & restart dwm without logging out - useful post compilation. super + ctrl + shift + q |
xresources-20210827-138b405 | compatibility with settings in .xresources |
rebootcmd-20220202-d39e2f3 | reboot the system super + shift + delete |
shutdowncmd-20220202-d39e2f3 | shutdown the system super + shift + escape |
namedscratchpads-6.2 | multiple scratchpads on their respective keys |
swallow-6.3 | swallow floating windows that spawn from a terminal (i.e. hide parent process) |
dwm-bar-height-spacing-6.3 | set bar height in config.def.h under user_bh |
manual fixes applied :
- systray/barpadding compatibility
patch (apply changes inside the
updatesystray
function)-- XMoveResizeWindow(dpy, systray->win, x, m->by , w, bh); - wc.x = x ; wc.y = m->by ; wc.width = w; wc.height = bh;` + XMoveResizeWindow(dpy, systray->win, x - sp, m->by + vp, w, bh); + wc.x = x - sp; wc.y = m->by + vp; wc.width = w; wc.height = bh;
In order to build dwm you need the Xlib header files. These should be available in your distribution's Xorg package.
Edit config.mk to match your local setup (dwm is installed into the /usr/local namespace by default).
git clone https://github.com/shastryv/dwm
cd dwm
sudo make clean install
Add the following line to your .xinitrc to start dwm using startx |
exec dwm