dwm - dynamic window manager
dwm is an extremely fast, small, and dynamic window manager for X.
This is my personal rice of suckless dwm using a grayscale color theme.
Screenshots
Key Mappings
Action | MODKEY = Super/Windows |
---|---|
Key Bindings List | MODKEY + s |
Terminal | MODKEY + ENTER |
Tabbed Terminal | MODKEY + CONTROL + ENTER |
Brave browser | MODKEY + ALT + SPACE |
Rofi app launcher | ALT + SPACE |
Dmenu app launcher | MODKEY + ALT + p |
Shift view tag left | MODKEY + ALT + h |
Shift view tag right | MODKEY + ALT + l |
Move window to master position | MODKEY + SHIFT + ENTER |
Move window up in stack | MODKEY + SHIFT + k |
Move window down in stack | MODKEY + SHIFT + j |
Focus window up in stack | MODKEY + k |
Focus window down in stack | MODKEY + j |
Full screenshot | PRINT SCREEN |
Current window screenshot | MODKEY + PRINT SCREEN |
Selection screenshot | MODKEY + SHIFT + PRINT SCREEN |
Increase gap | MODKEY + = |
Decrease gap | MODKEY + - |
No gap | MODKEY + SHIFT + - |
Restart dwm | MODKEY + SHIFT + r |
Logout | CONTROL + SHIFT + ESCAPE |
Power Menu | MODKEY + SHIFT + ESCAPE |
Applied Patches
- actualfullscreen
- alpha
- alwayscenter
- autoresize
- awesomebar
- center
- cyclelayouts
- fixborders
- focusonnetactive
- fullgaps
- gapgrid
- movestack
- pertag
- resizecorners
- restartsig
- shiftview
- switchtotag
- systray
- warp-6.2
Requirements
In order to build dwm, you need the Xlib header files.
-
Terminal - alacritty
You can change the default terminal command (termcmd) in the config.def.h. -
Fonts - Noto Sans Nerd Font Regular
-
Scripts
Screenshots - Use my screenshot scripts from my dotfiles (scrot and xclip are needed for scripts to work).Power Menu - Use my power menu script from my dotfiles (rofi is needed for script to work). Key Bindings List - bat
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 editing the config.def.h, and (re)compiling the source code.