/dwm

Personal rice of dwm

Primary LanguageCMIT LicenseMIT

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

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 editing the config.def.h, and (re)compiling the source code.