1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
.TH DWM 1 dwm\-VERSION
.SH NAME
dwm \- dynamic window manager
.SH SYNOPSIS
.B dwm
.RB [ \-v ]
.SH DESCRIPTION
dwm is a dynamic window manager for X. It manages windows in a
variety of layouts:
.nr PI 1n
.IP \[bu]
floating: windows can be resized and moved freely, a la usual window
managers.
.IP \[bu]
tiled: windows are managed in a master and stacking area. The master
area on the left contains one window by default, and the stacking area
on the right contains all other windows. The number of master area
windows can be adjusted from zero to an arbitrary number.
.IP \[bu]
monocle (normal, centred or floating)
Normal: all windows are maximised to the screen size.
Centred: the screen is split into three sections with the master
clients getting the second section and the stacking clients get the
remaining 2 sections to be laid out in.
Floating: the master clients are placed floating in the centre of the
screen while the remaining stacking clients are placed side by side
vertically.
.IP \[bu]
fibonacci (dwindle and spiral): windows are tiled in a spiralling or
dwindling pattern.
In the dwindle layout new clients tend towards the bottom left of the
monitor while in the spiral layout clients tend towards the centre
bottom left.
.IP \[bu]
deck: the stacking clients are placed floating on top of each other
such that there are only two partitions of the screen space.
.IP \[bu]
gapless grid: n clients are arranged into a square of ceil(sqrt(n))
length, where the top left is the latest client opened.
.P
Dialog windows are always managed floating, regardless of the layout
applied.
.P
Windows are grouped by tags. Each window can be tagged with one or
multiple tags. Selecting certain tags displays all windows with these
tags.
.P
Each screen contains a small status bar which displays all available
tags, the layout, the title of the focused window, and the text read
from the root window name property, if the screen is focused. A
floating window is indicated with an empty square and a maximised
floating window is indicated with a filled square before the windows
title. The selected tags are indicated with a different color. The
tags of the focused window are indicated with a filled square in the
top left corner. The tags which are applied to one or more windows
are indicated with an empty square in the top left corner.
.P
dwm draws a small border around windows to indicate the focus state.
.SH OPTIONS
.TP
.B \-v
prints version information to stderr, then exits.
.SH USAGE
.SS Status bar
.TP
.B X root window name
is read and displayed in the status text area. It can be set with the
.BR xsetroot (1). This fork uses dwmblocks to generate system status information.
command.
.SS Keyboard commands
Mod is set to Super (the "windows" key).
.TP
.B Mod\-b
Toggle status bar.
.TP
.B Mod\-`
Toggle scratchpad terminal (set to
.BR st(1)
).
.TP
.B Mod\-j
Focus next window.
.TP
.B Mod\-k
Focus previous window.
.TP
.B Mod\-.
Increase gap size by 5.
.TP
.B Mod\-,
Decrease gap size by 5.
.TP
.B Mod\-Control\-.
Increase gap size by 1.
.TP
.B Mod\-Control\-,
Decrease gap size by 1.
.TP
.B Mod\-/
Toggle gaps (default value is set to 5).
.TP
.B Mod\-Shift\-/
Print current gap value (using
.BR notify-send(1)
).
.TP
.B Mod\-h
Decrease size of master area.
.TP
.B Mod\-l
Increase size of master area.
.TP
.B Mod\-Control\-.
Decrease number of master clients.
.TP
.B Mod\-Control\-,
Increase number of master clients.
.TP
.B Mod\-Shift\-h
Rotate the stack clockwise but keep focus on the same position.
.TP
.B Mod\-Shift\-l
Rotate the stack anticlockwise but keep focus on the same position.
.TP
.B Mod\-Shift\-k
Rotate the master clients clockwise but keep focus on the same
position.
.TP
.B Mod\-Shift\-j
Rotate the master clients anticlockwise but keep focus on the same
position.
.TP
.B Mod\-c
Swap a window from the stack with the master. If on the master, swap
with the top of the stack. If on a member of the stack, swap with
master.
.TP
.B Mod\-Shift\-t
Set layout to tiling.
.TP
.B Mod\-Shift\-f
Set layout to floating.
.TP
.B Mod\-Shift\-m
Set layout to monocle.
.TP
.B Mod\-Shift\-u
Set layout to centred monocle.
.TP
.B Mod\-Shift\-o
Set layout to centred floating monocle.
.TP
.B Mod\-Shift\-s
Set layout to spiral fibonacci.
.TP
.B Mod\-Shift\-D
Set layout to dwindle fibonacci.
.TP
.B Mod\-Shift\-g
Set layout to gapless grid.
.TP
.B Mod\-Shift\-d
Set layout to deck layout.
.TP
.B Mod\-Shift\-space
Toggle between current layout and previous layout.
.TP
.B Mod\-space
Toggle current client's floating (floating -> not floating, not
floating -> floating).
.TP
.B Mod1\-<x in [1..n]>
Go to xth tag.
.TP
.B Mod1\-Shift\-<x in [1..n]>
Tag focused client, clearing all other tags.
.TP
.B Mod1\-Control\-<x in [1..n]>
View the xth tag.
.TP
.B Mod1\-Control\-Shift\-<x in [1..n]>
Tag the focused client but preserve tags.
.TP
.B Mod1\-0
View all tags.
.TP
.B Mod1\-Shift\-0
Tag focused client with all tags.
.TP
.B Mod\-Tab
View the previous tag.
.TP
.B Mod\-n
Focus on the next monitor in monitor stack.
.TP
.B Mod\-m
Focus on the next monitor in monitor stack.
.TP
.B Mod\-Shift\-,
Send client to previous monitor in monitor stack.
.TP
.B Mod\-Shift\-.
Send client to next monitor in monitor stack.
.TP
.B Mod\-q
Kill the currently focused client.
.TP
.B Mod\-Shift\-q
Kill dwm.
.SS Mouse commands
.TP
.B Mod1\-Button1
Move focused window while dragging. Tiled windows will be toggled to
the floating state.
.TP
.B Mod1\-Button2
Toggles focused window between floating and tiled state.
.TP
.B Mod1\-Button3
Resize focused window while dragging. Tiled windows will be toggled to
the floating state.
.SH CUSTOMIZATION
dwm is customised by creating a custom config.h and (re)compiling the
source code. This keeps it fast, secure and simple.
.SH SEE ALSO
.BR dmenu (1),
.BR st (1)
.SH ISSUES
Java applications which use the XToolkit/XAWT backend may draw grey
windows only. The XToolkit/XAWT backend breaks ICCCM-compliance in
recent JDK 1.5 and early JDK 1.6 versions, because it assumes a
reparenting window manager. Possible workarounds are using JDK 1.4
(which doesn't contain the XToolkit/XAWT backend) or setting the
environment variable
.BR AWT_TOOLKIT=MToolkit
(to use the older Motif backend instead) or running
.B xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D
or
.B wmname LG3D
(to pretend that a non-reparenting window manager is running that the
XToolkit/XAWT backend can recognize) or when using OpenJDK setting the
environment variable
.BR _JAVA_AWT_WM_NONREPARENTING=1 .
.SH BUGS
Send all bug reports with a patch to hackers@suckless.org.
|