1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
5 <title>~/scrotwm.1.html</title>
6 <meta name="Generator" content="Vim/7.3">
7 <meta name="plugin-version" content="vim7.3_v6">
8 <meta name="syntax" content="man">
9 <meta name="settings" content="use_css">
10 <style type="text/css">
12 pre { font-family: monospace; background-color: #000000; color: #ffffff; }
13 body { font-family: monospace; background-color: #000000; color: #ffffff; }
14 .PreProc { color: #ff40ff; }
15 .Statement { color: #ffff00; }
16 .Title { color: #ff40ff; }
22 <span class="Title">SCROTWM(1) OpenBSD Reference Manual SCROTWM(1)</span>
24 <span class="Statement">NAME</span>
25 scrotwm - window manager for X11
27 <span class="Statement">SYNOPSIS</span>
30 <span class="Statement">DESCRIPTION</span>
31 scrotwm is a minimalistic window manager that tries to stay out of the
32 way so that valuable screen real estate can be used for much more
33 important stuff. It has sane defaults and does not require one to learn
34 a language to do any configuration. It was written by hackers for
35 hackers and it strives to be small, compact and fast.
37 When scrotwm starts up, it reads settings from its configuration file,
38 scrotwm.conf. See the CONFIGURATION FILES section below.
40 The following notation is used throughout this page:
44 <Name> Named key
48 scrotwm is very simple in its use. Most of the actions are initiated via
49 key or mouse bindings. See the BINDINGS section below for defaults and
52 <span class="Statement">CONFIGURATION FILES</span>
53 scrotwm first tries to open the user specific file, ~/.scrotwm.conf. If
54 that file is unavailable, it then tries to open the global configuration
55 file /etc/scrotwm.conf.
57 The format of the file is <keyword> = <setting>. For example:
61 Enabling or disabling an option is done by using 1 or 0 respectively.
63 The file supports the following keywords:
65 color_focus Border color of the currently focussed
67 color_unfocus Border color of unfocussed windows.
68 bar_enabled Enable or disable status bar.
69 bar_border[x] Color of the status bar border in screen x.
70 bar_color[x] Color of the status bar window in screen x.
71 bar_font_color[x] Color of the font in status bar in screen
73 bar_font Status bar font.
74 bar_action External script that populates additional
75 information in the status bar, such as
77 bar_delay Update frequency, in seconds, of external
78 script that populates the status bar.
79 bar_at_bottom Place the statusbar at the bottom of each
80 region instead of the top.
81 stack_enabled Enable or disable displaying the current
82 stacking algorithm in the status bar.
83 clock_enabled Enable or disable displaying the clock in
84 the status bar. Disable by setting to 0 so
85 a custom clock could be used in the
87 dialog_ratio Some applications have dialogue windows
88 that are too small to be useful. This
89 ratio is the screen size to what they will
90 be resized. For example, 0.6 is 60% of the
92 region Allocates a custom region, removing any
93 autodetected regions which occupy the same
94 space on the screen. Defined in the format
95 screen[<idx>]:WIDTHxHEIGHT+X+Y, e.g.
96 screen[1]:800x1200+0+0.
97 term_width Set a preferred minimum width for the
98 terminal If this value is greater than 0,
99 scrotwm will attempt to adjust the font
100 sizes in the terminal to keep the terminal
101 width above this number as the window is
102 resized. Only <span class="PreProc">xterm(1)</span> is currently
103 supported. The <span class="PreProc">xterm(1)</span> binary must not be
104 setuid or setgid, which it is by default on
105 most systems. Users may need to set
106 program[term] (see the PROGRAMS section) to
107 use an alternate copy of the <span class="PreProc">xterm(1)</span>
108 binary without the setgid bit set.
109 title_class_enabled Enable or disable displaying the window
110 class in the status bar. Enable by setting
112 title_name_enabled Enable or disable displaying the window
113 title in the status bar. Enable by setting
115 modkey Change mod key. Mod1 is generally the ALT
116 key and Mod4 is the windows key on a PC.
117 focus_mode Using a value of follow_cursor will make
118 the window manager focus the window under
119 the mouse when switching workspaces and
121 disable_border Remove border when bar is disabled and
122 there is only one window on the screen.
123 program[p] Define new action to spawn a program p.
124 See the PROGRAMS section below.
125 bind[x] Bind key combo to action x. See the
126 BINDINGS section below.
127 quirk[c:n] Add "quirk" for windows with class c and
128 name n. See the QUIRKS section below.
130 Colors need to be specified per the <span class="PreProc">XQueryColor(3)</span> specification and
131 fonts need to be specified per the <span class="PreProc">XQueryFont(3)</span> specification.
133 To list the available fonts in your system see <span class="PreProc">fc-list(1)</span> or <span class="PreProc">xlsfonts(1)</span>
134 manpages. The <span class="PreProc">xfontsel(1)</span> application can help you to show the X Logical
135 Font Description ("XLFD") used as setting in the keyword bar_font.
137 <span class="Statement">PROGRAMS</span>
138 scrotwm allows you to define custom actions to launch programs of your
139 choice and then bind them the same as with built-in actions. See the
140 BINDINGS section below.
142 The default programs are described below:
145 screenshot_all screenshot.sh full
146 screenshot_wind screenshot.sh window
148 initscr initscreen.sh
149 menu dmenu_run -fn $bar_font -nb $bar_color -nf
150 $bar_font_color -sb $bar_border -sf $bar_color
152 Custom programs in the configuration file are specified as follows:
154 program[<name>] = <progpath> [<arg> [... <arg>]]
156 <name> is any identifier that does not conflict with a built-in action or
157 keyword, <progpath> is the desired program, and <arg> is zero or more
158 arguments to the program.
160 The following variables represent settable values in scrotwm (see the
161 CONFIGURATION FILES section above), and may be used in the <arg> fields
162 and will be substituted for values at the time the program is spawned:
173 program[ff] = /usr/local/bin/firefox <a href="http://scrotwm.org/">http://scrotwm.org/</a>
174 bind[ff] = Mod+f # Now Mod+F launched firefox
176 To undo the previous:
181 <span class="Statement">BINDINGS</span>
182 scrotwm provides many functions (or actions) accessed via key or mouse
185 The current mouse bindings are described below:
190 M-S-M3 Resize window while maintaining it centered
192 The default key bindings are described below:
194 M-S-<Return> term
198 M-<Space> cycle_layout
199 M-S-<Space> reset_layout
206 M-<Return> swap_main
207 M-j, M-<TAB> focus_next
208 M-k, M-S-<TAB> focus_prev
217 M-<Right> ws_next
218 M-<Left> ws_prev
220 M-S-<Right> screen_next
221 M-S-<Left> screen_prev
223 M-S-s screenshot_wind
226 M-S <Delete> lock
229 The action names and descriptions are listed below:
231 term Spawn a new terminal (see PROGRAMS above)
232 menu Menu (see PROGRAMS above)
234 restart Restart scrotwm
235 cycle_layout Cycle layout
236 reset_layout Reset layout
237 master_shrink Shrink master area
238 master_grow Grow master area
239 master_add Add windows to master area
240 master_del Remove windows from master area
241 stack_inc Add columns/rows to stacking area
242 stack_del Remove columns/rows from stacking area
243 swap_main Move current window to master area
244 focus_next Focus next window in workspace
245 focus_prev Focus previous window in workspace
246 focus_main Focus on main window in workspace
247 swap_next Swap with next window in workspace
248 swap_prev Swap with previous window in workspace
249 bar_toggle Toggle status bar in all workspaces
250 wind_del Delete current window in workspace
251 wind_kill Destroy current window in workspace
252 ws_n Switch to workspace n, where n is 1 through 10
253 mvws_n Move current window to workspace n, where n is 1
255 ws_next Switch to next workspace with a window in it
256 ws_prev Switch to previous workspace with a window in it
257 ws_prior Switch to last visited workspace
258 screen_next Move pointer to next region
259 screen_prev Move pointer to previous region
260 screenshot_all Take screenshot of entire screen (if enabled) (see
262 screenshot_wind Take screenshot of selected window (if enabled)
264 version Toggle version in status bar
265 float_toggle Toggle focused window between tiled and floating
266 lock Lock screen (see PROGRAMS above)
267 initscr Reinitialize physical screens (see PROGRAMS above)
269 Custom bindings in the configuration file are specified as follows:
271 bind[<action>] = <keys>
273 <action> is one of the actions listed above (or empty) and <keys> is in
274 the form of zero or more modifier keys (MOD, Mod1, Shift, etc.) and one
275 or more normal keys (b, space, etc.), separated by "+". For example:
277 bind[reset] = Mod4+q # bind Windows-key + q to reset
278 bind[] = Mod1+q # unbind Alt + q
280 Multiple key combinations may be bound to the same action.
282 <span class="Statement">QUIRKS</span>
283 scrotwm provides "quirks" which handle windows that must be treated
284 specially in a tiling window manager, such as some dialogs and fullscreen
287 The default quirks are described below:
289 Firefox-bin:firefox-bin TRANSSZ
291 Gimp:gimp FLOAT + ANYWHERE
292 MPlayer:xv FLOAT + FULLSCREEN
293 OpenOffice.org 2.4:VCLSalFrame FLOAT
294 OpenOffice.org 3.1:VCLSalFrame FLOAT
296 xine:Xine Window FLOAT + ANYWHERE
297 xine:xine Panel FLOAT + ANYWHERE
298 xine:xine Video Fullscreen Window FULLSCREEN + FLOAT
299 Xitk:Xitk Combo FLOAT + ANYWHERE
300 Xitk:Xine Window FLOAT + ANYWHERE
301 XTerm:xterm XTERM_FONTADJ
303 The quirks themselves are described below:
305 FLOAT This window should not be tiled, but allowed
307 TRANSSZ Adjusts size on transient windows that are
308 too small using dialog_ratio (see
309 CONFIGURATION FILES).
310 ANYWHERE Allow window to position itself, uncentered.
311 XTERM_FONTADJ Adjust xterm fonts when resizing.
312 FULLSCREEN Remove border to allow window to use full
315 Custom quirks in the configuration file are specified as follows:
317 quirk[<class>:<name>] = <quirk> [+ <quirk> ...]
319 <class> and <name> specify the window to which the quirk(s) apply, and
320 <quirk> is one of the quirks from the list above. For example:
322 quirk[MPlayer:xv] = FLOAT + FULLSCREEN # let mplayer play
323 quirk[pcb:pcb] = NONE # remove existing quirk
325 You can obtain <class> and <name> by running <span class="PreProc">xprop(1)</span> and then clicking
326 on the desired window. In the following example the main window of
329 $ xprop | grep WM_CLASS
330 WM_CLASS(STRING) = "Navigator", "Firefox"
332 Note that grepping for WM_CLASS flips class and name. In the example
333 above the quirk entry would be:
335 quirk[Firefox:Navigator] = FLOAT
337 <span class="Statement">SIGNALS</span>
338 Sending scrotwm a HUP signal will retstart it.
340 <span class="Statement">FILES</span>
341 ~/.scrotwm.conf scrotwm user specific settings.
342 /etc/scrotwm.conf scrotwm global settings.
344 <span class="Statement">HISTORY</span>
345 scrotwm was inspired by xmonad & dwm.
347 <span class="Statement">AUTHORS</span>
349 scrotwm was written by Marco Peereboom <marco@peereboom.us>, Ryan Thomas
350 McBride <mcbride@countersiege.com> and Darrin Chandler
351 <dwchandler@stilyagin.com>.
353 <span class="Statement">BUGS</span>
354 Currently the menu, invoked with M-p, depends on dmenu.
356 OpenBSD 4.8 July 15, 2010 OpenBSD 4.8