Files
dtos-dotfiles/dwm
2020-03-12 11:12:09 -05:00
..
2020-03-10 21:57:00 -05:00
2020-03-10 21:57:00 -05:00
2019-02-12 12:05:25 -06:00
2020-03-12 11:12:09 -05:00
2019-02-12 12:05:25 -06:00
2019-02-12 12:05:25 -06:00
2019-01-27 17:02:11 -06:00
dwm
2020-03-11 11:36:16 -05:00
2020-03-10 21:57:00 -05:00
2020-03-11 19:24:20 -05:00
2020-03-10 21:57:00 -05:00
2019-01-27 17:02:11 -06:00
2019-02-12 12:05:25 -06:00
2019-02-12 12:05:25 -06:00
2019-01-27 17:02:11 -06:00
2020-03-12 11:12:09 -05:00
2019-01-27 17:02:11 -06:00
2019-01-27 17:02:11 -06:00

My dwm (Dynamic Window Manager) build

Screenshot of my desktop Dwm is an extremely fast, small, and dynamic window manager for X. This is my personal build of dwm. I used a number of patches in this build to make dwm more "sensible" rather than "suckless."

My Keybindings

The MODKEY is set to the Super key (aka the Windows key). I try to keep the keybindings consistent with all of my window managers.

Keybinding Action
MODKEY + RETURN opens terminal (alacritty is the terminal but can be easily changed)
MODKEY + SHIFT + RETURN opens run launcher (dmenu is the run launcher but can be easily changed)
MODKEY + SHIFT + c closes window with focus
MODKEY + SHIFT + r restarts dwm
MODKEY + SHIFT + q quits dwm
MODKEY + 1-9 switch focus to workspace (1-9)
MODKEY + SHIFT + 1-9 send focused window to workspace (1-9)
MODKEY + j focus stack +1 (switches focus between windows in the stack)
MODKEY + k focus stack -1 (switches focus between windows in the stack)
MODKEY + SHIFT + j rotate stack +1 (rotates the windows in the stack)
MODKEY + SHIFT + k rotate stack -1 (rotates the windows in the stack)
MODKEY + h setmfact -0.05 (expands size of window)
MODKEY + l setmfact +0.05 (shrinks size of window)
MODKEY + . focusmon +1 (switches focus next monitors)
MODKEY + , focusmon -1 (switches focus to prev monitors)

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.