dwm.1 (view raw)
1.TH DWM 1 dwm\-VERSION
2.SH NAME
3dwm \- dynamic window manager
4.SH SYNOPSIS
5.B dwm
6.RB [ \-v ]
7.SH DESCRIPTION
8dwm is a dynamic window manager for X. It manages windows in tiled, monocle
9and floating layouts. Either layout can be applied dynamically, optimising the
10environment for the application in use and the task performed.
11.P
12In tiled layouts windows are managed in a master and stacking area. The master
13area on the left contains one window by default, and the stacking area on the
14right contains all other windows. The number of master area windows can be
15adjusted from zero to an arbitrary number. In monocle layout all windows are
16maximised to the screen size. In floating layout windows can be resized and
17moved freely. Dialog windows are always managed floating, regardless of the
18layout applied.
19.P
20Windows are grouped by tags. Each window can be tagged with one or multiple
21tags. Selecting certain tags displays all windows with these tags.
22.P
23Each screen contains a small status bar which displays all available tags, the
24layout, the title of the focused window, and the text read from the root window
25name property, if the screen is focused. A floating window is indicated with an
26empty square and a maximised floating window is indicated with a filled square
27before the windows title. The selected tags are indicated with a different
28color. The tags of the focused window are indicated with a filled square in the
29top left corner. The tags which are applied to one or more windows are
30indicated with an empty square in the top left corner.
31.P
32dwm draws a small border around windows to indicate the focus state.
33.P
34On start, dwm can start additional programs that may be specified in two special
35shell scripts (see the FILES section below), autostart_blocking.sh and
36autostart.sh. The former is executed first and dwm will wait for its
37termination before starting. The latter is executed in the background before
38dwm enters its handler loop.
39.P
40Either of these files may be omitted.
41.SH OPTIONS
42.TP
43.B \-v
44prints version information to stderr, then exits.
45.SH USAGE
46.SS Status bar
47.TP
48.B X root window name
49is read and displayed in the status text area. It can be set with the
50.BR xsetroot (1)
51command.
52.TP
53.B Button1
54click on a tag label to display all windows with that tag, click on the layout
55label toggles between tiled and floating layout.
56.TP
57.B Button3
58click on a tag label adds/removes all windows with that tag to/from the view.
59.TP
60.B Mod1\-Button1
61click on a tag label applies that tag to the focused window.
62.TP
63.B Mod1\-Button3
64click on a tag label adds/removes that tag to/from the focused window.
65.SS Keyboard commands
66.TP
67.B Mod1\-Shift\-Return
68Start
69.BR st(1).
70.TP
71.B Mod1\-p
72Spawn
73.BR dmenu(1)
74for launching other programs.
75.TP
76.B Mod1\-,
77Focus previous screen, if any.
78.TP
79.B Mod1\-.
80Focus next screen, if any.
81.TP
82.B Mod1\-Shift\-,
83Send focused window to previous screen, if any.
84.TP
85.B Mod1\-Shift\-.
86Send focused window to next screen, if any.
87.TP
88.B Mod1\-b
89Toggles bar on and off.
90.TP
91.B Mod1\-t
92Sets tiled layout.
93.TP
94.B Mod1\-f
95Sets floating layout.
96.TP
97.B Mod1\-m
98Sets monocle layout.
99.TP
100.B Mod1\-space
101Toggles between current and previous layout.
102.TP
103.B Mod1\-j
104Focus next window.
105.TP
106.B Mod1\-k
107Focus previous window.
108.TP
109.B Mod1\-i
110Increase number of windows in master area.
111.TP
112.B Mod1\-d
113Decrease number of windows in master area.
114.TP
115.B Mod1\-l
116Increase master area size.
117.TP
118.B Mod1\-h
119Decrease master area size.
120.TP
121.B Mod1\-Return
122Zooms/cycles focused window to/from master area (tiled layouts only).
123.TP
124.B Mod1\-Shift\-c
125Close focused window.
126.TP
127.B Mod1\-Shift\-space
128Toggle focused window between tiled and floating state.
129.TP
130.B Mod1\-Tab
131Toggles to the previously selected tags.
132.TP
133.B Mod1\-Shift\-[1..n]
134Apply nth tag to focused window.
135.TP
136.B Mod1\-Shift\-0
137Apply all tags to focused window.
138.TP
139.B Mod1\-Control\-Shift\-[1..n]
140Add/remove nth tag to/from focused window.
141.TP
142.B Mod1\-[1..n]
143View all windows with nth tag.
144.TP
145.B Mod1\-0
146View all windows with any tag.
147.TP
148.B Mod1\-Control\-[1..n]
149Add/remove all windows with nth tag to/from the view.
150.TP
151.B Mod1\-Shift\-q
152Quit dwm.
153.SS Mouse commands
154.TP
155.B Mod1\-Button1
156Move focused window while dragging. Tiled windows will be toggled to the floating state.
157.TP
158.B Mod1\-Button2
159Toggles focused window between floating and tiled state.
160.TP
161.B Mod1\-Button3
162Resize focused window while dragging. Tiled windows will be toggled to the floating state.
163.SH FILES
164The files containing programs to be started along with dwm are searched for in
165the following directories:
166.IP "1. $XDG_DATA_HOME/dwm"
167.IP "2. $HOME/.local/share/dwm"
168.IP "3. $HOME/.dwm"
169.P
170The first existing directory is scanned for any of the autostart files below.
171.TP 15
172autostart.sh
173This file is started as a shell background process before dwm enters its handler
174loop.
175.TP 15
176autostart_blocking.sh
177This file is started before any autostart.sh; dwm waits for its termination.
178.SH CUSTOMIZATION
179dwm is customized by creating a custom config.h and (re)compiling the source
180code. This keeps it fast, secure and simple.
181.SH SEE ALSO
182.BR dmenu (1),
183.BR st (1)
184.SH ISSUES
185Java applications which use the XToolkit/XAWT backend may draw grey windows
186only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early
187JDK 1.6 versions, because it assumes a reparenting window manager. Possible workarounds
188are using JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or setting the
189environment variable
190.BR AWT_TOOLKIT=MToolkit
191(to use the older Motif backend instead) or running
192.B xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D
193or
194.B wmname LG3D
195(to pretend that a non-reparenting window manager is running that the
196XToolkit/XAWT backend can recognize) or when using OpenJDK setting the environment variable
197.BR _JAVA_AWT_WM_NONREPARENTING=1 .
198.SH BUGS
199Send all bug reports with a patch to hackers@suckless.org.