1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <title>scrotwm.1.html</title>
5 <meta name="Generator" content="Vim/7.2">
6 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
8 <body text="#ffffff" bgcolor="#000000"><font face="monospace">
9 <font color="#ff40ff">SCROTWM(1) OpenBSD Reference Manual SCROTWM(1)</font><br>
11 <font color="#ffff00">NAME</font><br>
12 scrotwm - window manager for X11<br>
14 <font color="#ffff00">SYNOPSIS</font><br>
15 scrotwm<br>
17 <font color="#ffff00">DESCRIPTION</font><br>
18 scrotwm is a minimalistic window manager that tries to stay out of the<br>
19 way so that valuable screen real estate can be used for much more<br>
20 important stuff. It has sane defaults and does not require one to learn<br>
21 a language to do any configuration. It was written by hackers for<br>
22 hackers and it strives to be small, compact and fast.<br>
24 When scrotwm starts up, it reads settings from its configuration file,<br>
25 scrotwm.conf. See the CONFIGURATION FILES section below.<br>
27 The following notation is used throughout this page:<br>
29 M Meta<br>
30 S Shift<br>
31 <Name> Named key<br>
32 M1 Mouse button 1<br>
33 M3 Mouse button 3<br>
35 scrotwm is very simple in its use. Most of the actions are initiated via<br>
36 key or mouse bindings. See the BINDINGS section below for defaults and<br>
37 customizations.<br>
39 <font color="#ffff00">CONFIGURATION FILES</font><br>
40 scrotwm first tries to open the user specific file, ~/.scrotwm.conf. If<br>
41 that file is unavailable, it then tries to open the global configuration<br>
42 file /etc/scrotwm.conf.<br>
44 The format of the file is <keyword> = <setting>. For example:<br>
46 color_focus = red<br>
48 Enabling or disabling an option is done by using 1 or 0 respectively.<br>
50 The file supports the following keywords:<br>
52 color_focus Border color of the currently focussed<br>
53 window.<br>
54 color_unfocus Border color of unfocussed windows.<br>
55 bar_enabled Enable or disable status bar.<br>
56 bar_border[x] Color of the status bar border in screen x.<br>
57 bar_color[x] Color of the status bar window in screen x.<br>
58 bar_font_color[x] Color of the font in status bar in screen<br>
59 x.<br>
60 bar_font Status bar font.<br>
61 bar_action External script that populates additional<br>
62 information in the status bar, such as<br>
63 battery life.<br>
64 bar_delay Update frequency, in seconds, of external<br>
65 script that populates the status bar.<br>
66 stack_enabled Enable or disable displaying the current<br>
67 stacking algorithm in the status bar.<br>
68 clock_enabled Enable or disable displaying the clock in<br>
69 the status bar. Disable by setting to 0 so<br>
70 a custom clock could be used in the<br>
71 bar_action script.<br>
72 dialog_ratio Some applications have dialogue windows<br>
73 that are too small to be useful. This<br>
74 ratio is the screen size to what they will<br>
75 be resized. For example, 0.6 is 60% of the<br>
76 physical screen size.<br>
77 region Allocates a custom region, removing any<br>
78 autodetected regions which occupy the same<br>
79 space on the screen. Defined in the format<br>
80 screen[<idx>]:WIDTHxHEIGHT+X+Y, e.g.<br>
81 screen[1]:800x1200+0+0.<br>
82 term_width Set a preferred minimum width for the<br>
83 terminal If this value is greater than 0,<br>
84 scrotwm will attempt to adjust the font<br>
85 sizes in the terminal to keep the terminal<br>
86 width above this number as the window is<br>
87 resized. Only <font color="#ff40ff">xterm(1)</font> is currently<br>
88 supported. The <font color="#ff40ff">xterm(1)</font> binary must not be<br>
89 setuid or setgid, which it is by default on<br>
90 most systems. Users may need to set<br>
91 program[term] (see the PROGRAMS section) to<br>
92 use an alternate copy of the <font color="#ff40ff">xterm(1)</font><br>
93 binary without the setgid bit set.<br>
94 title_class_enabled Enable or disable displaying the window<br>
95 class in the status bar. Enable by setting<br>
96 to 1<br>
97 title_name_enabled Enable or disable displaying the window<br>
98 title in the status bar. Enable by setting<br>
99 to 1<br>
100 modkey Change mod key. Mod1 is generally the ALT<br>
101 key and Mod4 is the windows key on a PC.<br>
102 focus_mode Using a value of follow_cursor will make<br>
103 the window manager focus the window under<br>
104 the mouse when switching workspaces and<br>
105 creating windows.<br>
106 disable_border Remove border when bar is disabled and<br>
107 there is only one window on the screen.<br>
108 program[p] Define new action to spawn a program p.<br>
109 See the PROGRAMS section below.<br>
110 bind[x] Bind key combo to action x. See the<br>
111 BINDINGS section below.<br>
112 quirk[c:n] Add "quirk" for windows with class c and<br>
113 name n. See the QUIRKS section below.<br>
115 Colors need to be specified per the <font color="#ff40ff">XQueryColor(3)</font> specification and<br>
116 fonts need to be specified per the <font color="#ff40ff">XQueryFont(3)</font> specification.<br>
118 <font color="#ffff00">PROGRAMS</font><br>
119 scrotwm allows you to define custom actions to launch programs of your<br>
120 choice and then bind them the same as with built-in actions. See the<br>
121 BINDINGS section below.<br>
123 The default programs are described below:<br>
125 term xterm<br>
126 screenshot_all screenshot.sh full<br>
127 screenshot_wind screenshot.sh window<br>
128 lock xlock<br>
129 initscr initscreen.sh<br>
130 menu dmenu_run -fn $bar_font -nb $bar_color -nf<br>
131 $bar_font_color -sb $bar_border -sf $bar_color<br>
133 Custom programs in the configuration file are specified as follows:<br>
135 program[<name>] = <progpath> [<arg> [... <arg>]]<br>
137 <name> is any identifier that does not conflict with a built-in action or<br>
138 keyword, <progpath> is the desired program, and <arg> is zero or more<br>
139 arguments to the program.<br>
141 The following variables represent settable values in scrotwm (see the<br>
142 CONFIGURATION FILES section above), and may be used in the <arg> fields<br>
143 and will be substituted for values at the time the program is spawned:<br>
145 $bar_border<br>
146 $bar_color<br>
147 $bar_font<br>
148 $bar_font_color<br>
149 $color_focus<br>
150 $color_unfocus<br>
152 Example:<br>
154 program[ff] = /usr/local/bin/firefox <a href="http://scrotwm.org/">http://scrotwm.org/</a><br>
155 bind[ff] = Mod+f # Now Mod+F launched firefox<br>
157 To undo the previous:<br>
159 bind[] = Mod+f<br>
160 program[ff] =<br>
163 <font color="#ffff00">BINDINGS</font><br>
164 scrotwm provides many functions (or actions) accessed via key or mouse<br>
165 bindings.<br>
167 The current mouse bindings are described below:<br>
169 M1 Focus window<br>
170 M-M1 Move window<br>
171 M-M3 Resize window<br>
172 M-S-M3 Resize window while maintaining it centered<br>
174 The default key bindings are described below:<br>
176 M-S-<Return> term<br>
177 M-p menu<br>
178 M-S-q quit<br>
179 M-q restart scrotwm<br>
180 M-<Space> cycle_layout<br>
181 M-S-<Space> reset_layout<br>
182 M-h master_shrink<br>
183 M-l master_grow<br>
184 M-, master_add<br>
185 M-. master_del<br>
186 M-S-, stack_inc<br>
187 M-S-. stack_del<br>
188 M-<Return> swap_main<br>
189 M-j, M-<TAB> focus_next<br>
190 M-k, M-S-<TAB> focus_prev<br>
191 M-m focus_main<br>
192 M-S-j swap_next<br>
193 M-S-k swap_prev<br>
194 M-b bar_toggle<br>
195 M-x wind_del<br>
196 M-S-x wind_kill<br>
197 M-<n> ws_n<br>
198 M-S-<n> mvws_n<br>
199 M-<Right> ws_next<br>
200 M-<Left> ws_prev<br>
201 M-a ws_prior<br>
202 M-S-<Right> screen_next<br>
203 M-S-<Left> screen_prev<br>
204 M-s screenshot_all<br>
205 M-S-s screenshot_wind<br>
206 M-S-v version<br>
207 M-t float_toggle<br>
208 M-S <Delete> lock<br>
209 M-S-i initscr<br>
211 The action names and descriptions are listed below:<br>
213 term Spawn a new terminal (see PROGRAMS above)<br>
214 menu Menu (see PROGRAMS above)<br>
215 quit Quit scrotwm<br>
216 restart Restart scrotwm<br>
217 cycle_layout Cycle layout<br>
218 reset_layout Reset layout<br>
219 master_shrink Shrink master area<br>
220 master_grow Grow master area<br>
221 master_add Add windows to master area<br>
222 master_del Remove windows from master area<br>
223 stack_inc Add columns/rows to stacking area<br>
224 stack_del Remove columns/rows from stacking area<br>
225 swap_main Move current window to master area<br>
226 focus_next Focus next window in workspace<br>
227 focus_prev Focus previous window in workspace<br>
228 focus_main Focus on main window in workspace<br>
229 swap_next Swap with next window in workspace<br>
230 swap_prev Swap with previous window in workspace<br>
231 bar_toggle Toggle status bar in all workspaces<br>
232 wind_del Delete current window in workspace<br>
233 wind_kill Destroy current window in workspace<br>
234 ws_n Switch to workspace n, where n is 1 through 10<br>
235 mvws_n Move current window to workspace n, where n is 1<br>
236 through 10<br>
237 ws_next Switch to next workspace with a window in it<br>
238 ws_prev Switch to previous workspace with a window in it<br>
239 ws_prior Switch to last visited workspace<br>
240 screen_next Move pointer to next region<br>
241 screen_prev Move pointer to previous region<br>
242 screenshot_all Take screenshot of entire screen (if enabled) (see<br>
243 PROGRAMS above)<br>
244 screenshot_wind Take screenshot of selected window (if enabled)<br>
245 (see PROGRAMS above)<br>
246 version Toggle version in status bar<br>
247 float_toggle Toggle focused window between tiled and floating<br>
248 lock Lock screen (see PROGRAMS above)<br>
249 initscr Reinitialize physical screens (see PROGRAMS above)<br>
251 Custom bindings in the configuration file are specified as follows:<br>
253 bind[<action>] = <keys><br>
255 <action> is one of the actions listed above (or empty) and <keys> is in<br>
256 the form of zero or more modifier keys (MOD, Mod1, Shift, etc.) and one<br>
257 or more normal keys (b, space, etc.), separated by "+". For example:<br>
259 bind[reset] = Mod4+q # bind Windows-key + q to reset<br>
260 bind[] = Mod1+q # unbind Alt + q<br>
262 Multiple key combinations may be bound to the same action.<br>
264 <font color="#ffff00">QUIRKS</font><br>
265 scrotwm provides "quirks" which handle windows that must be treated<br>
266 specially in a tiling window manager, such as some dialogs and fullscreen<br>
267 apps.<br>
269 The default quirks are described below:<br>
271 Firefox-bin:firefox-bin TRANSSZ<br>
272 Firefox:Dialog FLOAT<br>
273 Gimp:gimp FLOAT + ANYWHERE<br>
274 MPlayer:xv FLOAT + FULLSCREEN<br>
275 OpenOffice.org 2.4:VCLSalFrame FLOAT<br>
276 OpenOffice.org 3.1:VCLSalFrame FLOAT<br>
277 pcb:pcb FLOAT<br>
278 xine:Xine Window FLOAT + ANYWHERE<br>
279 xine:xine Panel FLOAT + ANYWHERE<br>
280 xine:xine Video Fullscreen Window FULLSCREEN + FLOAT<br>
281 Xitk:Xitk Combo FLOAT + ANYWHERE<br>
282 Xitk:Xine Window FLOAT + ANYWHERE<br>
283 XTerm:xterm XTERM_FONTADJ<br>
285 The quirks themselves are described below:<br>
287 FLOAT This window should not be tiled, but allowed<br>
288 to float freely.<br>
289 TRANSSZ Adjusts size on transient windows that are<br>
290 too small using dialog_ratio (see<br>
291 CONFIGURATION FILES).<br>
292 ANYWHERE Allow window to position itself, uncentered.<br>
293 XTERM_FONTADJ Adjust xterm fonts when resizing.<br>
294 FULLSCREEN Remove border to allow window to use full<br>
295 screen size.<br>
297 Custom quirks in the configuration file are specified as follows:<br>
299 quirk[<class>:<name>] = <quirk> [+ <quirk> ...]<br>
301 <class> and <name> specify the window to which the quirk(s) apply, and<br>
302 <quirk> is one of the quirks from the list above. For example:<br>
304 quirk[MPlayer:xv] = FLOAT + FULLSCREEN # let mplayer play<br>
305 quirk[pcb:pcb] = NONE # remove existing quirk<br>
307 You can obtain <class> and <name> by running <font color="#ff40ff">xprop(1)</font> and then clicking<br>
308 on the desired window. In the following example the main window of<br>
309 Firefox was clicked:<br>
311 $ xprop | grep WM_CLASS<br>
312 WM_CLASS(STRING) = "Navigator", "Firefox"<br>
314 Note that grepping for WM_CLASS flips class and name. In the example<br>
315 above the quirk entry would be:<br>
317 quirk[Firefox:Navigator] = FLOAT<br>
319 <font color="#ffff00">SIGNALS</font><br>
320 Sending scrotwm a HUP signal will retstart it.<br>
322 <font color="#ffff00">FILES</font><br>
323 ~/.scrotwm.conf scrotwm user specific settings.<br>
324 /etc/scrotwm.conf scrotwm global settings.<br>
326 <font color="#ffff00">HISTORY</font><br>
327 scrotwm was inspired by xmonad & dwm.<br>
329 <font color="#ffff00">AUTHORS</font><br>
331 scrotwm was written by Marco Peereboom <marco@peereboom.us>, Ryan Thomas<br>
332 McBride <mcbride@countersiege.com> and Darrin Chandler<br>
333 <dwchandler@stilyagin.com>.<br>
335 <font color="#ffff00">BUGS</font><br>
336 Currently the menu, invoked with M-p, depends on dmenu.<br>
338 OpenBSD 4.7 July 3, 2010 OpenBSD 4.7<br>