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