SCROTWM(1) OpenBSD Reference Manual SCROTWM(1)
NAME
scrotwm - window manager for X11
SYNOPSIS
scrotwm
DESCRIPTION
scrotwm is a minimalistic window manager that tries to stay out of the
way so that valuable screen real estate can be used for much more impor-
tant stuff. It has sane defaults and does not require one to learn a
language to do any configuration. It was written by hackers for hackers
and it strives to be small, compact and fast.
When scrotwm starts up, it reads settings from its configuration file,
scrotwm.conf. See the CONFIGURATION FILES section below.
The following notation is used throughout this page:
M Meta
S Shift
<Name> Named key
M1 Mouse button 1
M3 Mouse button 3
scrotwm is very simple in its use. Most of the actions are initiated via
key or mouse bindings. See the BINDINGS section below for defaults and
customizations.
CONFIGURATION FILES
scrotwm first tries to open the user specific file, ~/.scrotwm.conf. If
that file is unavailable, it then tries to open the global configuration
file /etc/scrotwm.conf.
The format of the file is <keyword> = <setting>. For example:
color_focus = red
Enabling or disabling an option is done by using 1 or 0 respectively.
The file supports the following keywords:
color_focus Border color of the currently focussed win-
dow.
color_unfocus Border color of unfocussed windows.
bar_enabled Enable or disable status bar.
bar_border[x] Color of the status bar border in screen x.
bar_color[x] Color of the status bar window in screen x.
bar_font_color[x] Color of the font in status bar in screen x.
bar_font Status bar font.
bar_action External script that populates additional
information in the status bar, such as bat-
tery life.
bar_delay Update frequency, in seconds, of external
script that populates the status bar.
clock_enabled Enable or disable displaying the clock in
the status bar. Disable by setting to 0 so
a custom clock could be used in the bar_ac-
tion script.
spawn_term External application that gets spawned when
M-S-<Return> is used.
dialog_ratio Some applications have dialogue windows that
are too small to be useful. This ratio is
the screen size to what they will be re-
sized. For example, 0.6 is 60% of the phys-
ical screen size.
region Allocates a custom region, removing any au-
todetected regions which occupy the same
space on the screen. Defined in the format
screen[<idx>]:WIDTHxHEIGHT+X+Y, e.g.
screen[1]:800x1200+0+0.
screenshot_enabled Enable or disable screenshot capability.
screenshot_app Set to the script that will take screen-
shots. It will be called with "full" or
"window" as parameter 1 to indicate what
screenshot action is expected. The script
shall handle those cases accordingly.
term_width Set a preferred minimum width for the termi-
nal If this value is greater than 0, scrotwm
will attempt to adjust the font sizes in the
terminal to keep the terminal width above
this number as the window is resized. Only
xterm(1) is currently supported. The
xterm(1) binary must not be setuid or set-
gid, which it is by default on most systems.
Users may need to set spawn term to use an
alternate copy of the xterm(1) binary with-
out the setgid bit set.
modkey Change mod key. Mod1 is generally the ALT
key and Mod4 is the windows key on a PC.
bind[x] Bind key combo to action x. See the
BINDINGS section below.
quirk[c:n] Add "quirk" for windows with class c and
name n. See the QUIRKS section below.
Colors need to be specified per the XQueryColor(3) specification and
fonts need to be specified per the XQueryFont(3) specification.
BINDINGS
scrotwm provides many functions (or actions) accessed via key or mouse
bindings.
The current mouse bindings are described below:
M1 Focus window
M-M1 Move window
M-M3 Resize window
M-S-M3 Resize window while maintaining it centered
The default key bindings are described below:
M-S-<Return> spawn_term
M-p spawn_menu
M-S-q quit
M-q restart scrotwm
M-<Space> cycle_layout
M-S-<Space> reset_layout
M-h master_shrink
M-l master_grow
M-, master_add
M-. master_del
M-S-, stack_inc
M-S-. stack_del
M-<Return> swap_main
M-j, M-<TAB> focus_next
M-k, M-S-<TAB> focus_prev
M-m focus_main
M-S-j swap_next
M-S-k swap_prev
M-b bar_toggle
M-x wind_del
M-S-x wind_kill
M-<n> ws_n
M-S-<n> mvws_n
M-<Right> ws_next
M-<Left> ws_prev
M-S-<Right> screen_next
M-S-<Left> screen_prev
M-s screenshot_all
M-S-s screenshot_wind
M-S-v version
M-t float_toggle
M-S <Delete> spawn_lock
M-S-i spawn_initscr
The action names and descriptions are listed below:
spawn_term Spawn a new terminal
spawn_menu Menu
quit Quit scrotwm
restart Restart scrotwm
cycle_layout Cycle layout
reset_layout Reset layout
master_shrink Shrink master area
master_grow Grow master area
master_add Add windows to master area
master_del Remove windows from master area
stack_inc Add columns/rows to stacking area
stack_del Remove columns/rows from stacking area
swap_main Move current window to master area
focus_next Focus next window in workspace
focus_prev Focus previous window in workspace
focus_main Focus on main window in workspace
swap_next Swap with next window in workspace
swap_prev Swap with previous window in workspace
bar_toggle Toggle status bar in all workspaces
wind_del Delete current window in workspace
wind_kill Destroy current window in workspace
ws_n Switch to workspace n, where n is 1 through 10
mvws_n Move current window to workspace n, where n is 1
through 10
ws_next Switch to next workspace with a window in it
ws_prev Switch to previous workspace with a window in it
screen_next Move pointer to next region
screen_prev Move pointer to previous region
screenshot_all Take screenshot of entire screen (if enabled)
screenshot_wind Take screenshot of selected window (if enabled)
version Toggle version in status bar
float_toggle Toggle focused window between tiled and floating
spawn_lock Lock screen
spawn_initscr Reinitialize physical screens
Custom bindings in the configuration file are specified as follows:
bind[<action>] = <keys>
<action> is one of the actions listed above (or empty) and <keys> is in
the form of zero or more modifier keys (MOD, Mod1, Shift, etc.) and one
or more normal keys (b, space, etc.), separated by "+". For example:
bind[reset] = Mod4+q # bind Windows-key + q to reset
bind[] = Mod1+q # unbind Alt + q
Multiple key combinations may be bound to the same action.
QUIRKS
scrotwm provides "quirks" which handle windows that must be treated spe-
cially in a tiling window manager, such as some dialogs and fullscreen
apps.
The default quirks are described below:
Firefox-bin:firefox-bin TRANSSZ
Firefox:Dialog FLOAT
Gimp:gimp FLOAT | ANYWHERE
MPlayer:xv FLOAT | FULLSCREEN
OpenOffice.org 2.4:VCLSalFrame FLOAT
OpenOffice.org 3.1:VCLSalFrame FLOAT
pcb:pcb FLOAT
xine:Xine Window FLOAT | ANYWHERE
xine:xine Panel FLOAT | ANYWHERE
xine:xine Video Fullscreen Window FULLSCREEN | FLOAT
Xitk:Xitk Combo FLOAT | ANYWHERE
Xitk:Xine Window FLOAT | ANYWHERE
XTerm:xterm XTERM_FONTADJ
The quirks themselves are described below:
FLOAT This window should not be tiled, but allowed
to float freely.
TRANSSZ Adjusts size on transient windows that are
too small using dialog_ratio (see
CONFIGURATION FILES).
ANYWHERE Allow window to position itself, uncentered.
XTERM_FONTADJ Adjust xterm fonts when resizing.
FULLSCREEN Remove border to allow window to use full
screen size.
Custom quirks in the configuration file are specified as follows:
quirk[<class>:<name>] = <quirk> [| <quirk> ...]
<class> and <name> specify the window to which the quirk(s) apply, and
<quirk> is one of the quirks from the list above. For example:
quirk[MPlayer:xv] = FLOAT | FULLSCREEN # let mplayer play
quirk[pcb:pcb] = NONE # remove existing quirk
Note that spaces in <class> or <name> must be replaced by an underscore
in the configuration. The config entry for "xine:Xine Panel" would be:
quirk[xine:Xine_Panel] = FLOAT
You can obtain <class> and <name> by running xprop(1) and then clicking
on the desired window. In the following example the main window of Fire-
fox was clicked:
$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "Navigator", "Firefox"
FILES
~/.scrotwm.conf scrotwm user specific settings.
/etc/scrotwm.conf scrotwm global settings.
HISTORY
scrotwm was inspired by xmonad & dwm.
AUTHORS
scrotwm was written by Marco Peereboom <marco@peereboom.us>, Ryan Thomas
McBride <mcbride@countersiege.com> and Darrin Chandler
<dwchandler@stilyagin.com>.
BUGS
Currently the menu, invoked with M-p, depends on dmenu.
OpenBSD 4.5 May 25, 2009 5