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