3.5 KiB
dwm - dynamic window manager
Sravan's custom build of dwm. Original dwm build by suckless team found here: https://dwm.suckless.org/
Requirements
In order to build dwm you need the Xlib header files.
Installation
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.
Patches
Most patches can be found on the suckless website: https://dwm.suckless.org/patches/
- actualfullscreen - Actually toggle fullscreen for a window, instead of toggling the status bar and the monocle layout
- alwaysfullscreen - Do not allow the focus to drift from the active fullscreen client when using focusstack()
- anybar (Polybar Tray Fix Version) - Enables dwm to manage external status bars such as lemonbar and polybar
- aspectresize - Allows you to resize a window while maintaining aspect ratio
- attachbelow (Toggleable) - Make new clients attach below the selected client, instead of always becoming the new master
- autoresize - Windows that are not visible when requesting a resize/move will get resized/moved
- center - Add an
iscentered
rule to automatically center clients on the current monitor - cfacts - Assign different weights to clients in their respective stack in tiled layout
- cfacts-vanitygaps - Vanity gaps patch compatible with cfacts patch
- combo - Select multiple tags for tag or view by pressing all the right keys as a combo
- cool autostart - Execute commands from
autostart
array inconfig.h
on startup and kill processes upon dwm exit - cyclelayouts - Cycle through all available layouts
- fixborders - Make borders opaque
- movestack - Move clients around in the stack and swap them with the master
- noborder (Floating Fix) - Remove the border when there is only one window visible
- swallow - Programs opened from terminal will "swallow" the terminal
- unfloatvisible - Resets
isfloating
on any visible windows that have it set