]> code.delx.au - spectrwm/blob - scrotwm.1
Let scrotwm adjust the font size on xterms as it squishes them in tiling
[spectrwm] / scrotwm.1
1 .\" $scrotwm$
2 .\"
3 .\" Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
4 .\"
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 .\"
17 .Dd $Mdocdate$
18 .Dt SCROTWM 1
19 .Os
20 .Sh NAME
21 .Nm scrotwm
22 .Nd window manager for X11
23 .Sh SYNOPSIS
24 .Nm scrotwm
25 .Sh DESCRIPTION
26 .Nm
27 is a minimalistic window manager that tries to stay out of the way so that
28 valuable screen real estate can be used for much more important stuff.
29 It has sane defaults and does not require one to learn a language to do any
30 configuration.
31 It was written by hackers for hackers and it strives to be small, compact and
32 fast.
33 .Pp
34 When
35 .Nm
36 starts up, it reads settings from its configuration file,
37 .Pa scrotwm.conf .
38 See the
39 .Sx CONFIGURATION FILES
40 section below.
41 .Pp
42 The following notation is used throughout this page:
43 .Pp
44 .Bl -tag -width Ds -offset indent -compact
45 .It Cm M
46 Meta
47 .It Cm S
48 Shift
49 .It Aq Cm Name
50 Named key
51 .It Cm M1
52 Mouse button 1
53 .It Cm M3
54 Mouse button 3
55 .El
56 .Pp
57 .Nm
58 is very simple in its use.
59 Most of the actions are initiated via keybindings.
60 The current keybindings are described below:
61 .Pp
62 .Bl -tag -width "M-j, M-<TAB>XXX" -offset indent -compact
63 .It Cm M-S- Ns Aq Cm Return
64 Spawn a new terminal
65 .It Cm M-p
66 Menu
67 .It Cm M-S-q
68 Quit
69 .It Cm M-q
70 Restart
71 .Nm
72 .It Cm M- Ns Aq Cm Space
73 Cycle layout
74 .It Cm M-S- Ns Aq Cm Space
75 Reset layout
76 .It Cm M-h
77 Shrink master area
78 .It Cm M-l
79 Grow master area
80 .It Cm M-,
81 Add windows to master area
82 .It Cm M-.
83 Remove windows from master area
84 .It Cm M-S-,
85 Add columns/rows to stacking area
86 .It Cm M-S-.
87 Remove columns/rows from stacking area
88 .It Cm M- Ns Aq Cm Return
89 Move current window to master area
90 .It Xo
91 .Cm M-j ,
92 .Cm M- Ns Aq Cm TAB
93 .Xc
94 Focus next window in workspace
95 .It Xo
96 .Cm M-k ,
97 .Cm M-S- Ns Aq Cm TAB
98 .Xc
99 Focus previous window in workspace
100 .It Cm M-m
101 Focus on main window in workspace
102 .It Cm M-S-j
103 Swap with next window in workspace
104 .It Cm M-S-k
105 Swap with previous window in workspace
106 .It Cm M-b
107 Toggle status bar in all workspaces
108 .It Cm M-S-x
109 Destroy current window in workspace
110 .It Cm M- Ns Aq Ar n
111 Switch to workspace
112 .Ar n
113 .It Cm M-S- Ns Aq Ar n
114 Move current window to workspace
115 .Ar n
116 .It Cm M- Ns Aq Cm Right
117 Switch to next workspace with a window in it
118 .It Cm M- Ns Aq Cm Left
119 Switch to previous workspace with a window in it
120 .It Cm M-S- Ns Aq Cm Right
121 Move pointer to next region
122 .It Cm M-S- Ns Aq Cm Left
123 Move pointer to previous region
124 .It Cm M-s
125 Take screenshot of entire screen (if enabled)
126 .It Cm M-S-s
127 Take screenshot of selected window (if enabled)
128 .It Cm M-S-v
129 Toggle version in status bar
130 .It Cm M-t
131 Toggle focused window between tiled and floating
132 .It Cm M-S Aq Cm Delete
133 Lock scren
134 .It Cm M-S-i
135 Reinitialize physical screens
136 .It Cm M1
137 Focus window
138 .It Cm M-M1
139 Move window
140 .It Cm M-M3
141 Resize window
142 .It Cm M-S-M3
143 Resize window while maintaining it centered
144 .El
145 .Sh CONFIGURATION FILES
146 .Nm
147 first tries to open the user specific file,
148 .Pa ~/.scrotwm.conf .
149 If that file is unavailable,
150 it then tries to open the global configuration file
151 .Pa /etc/scrotwm.conf .
152 .Pp
153 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
154 For example:
155 .Pp
156 .Dl color_focus = red
157 .Pp
158 Enabling or disabling an option is done by using 1 or 0 respectively.
159 .Pp
160 The file supports the following keywords:
161 .Pp
162 .Bl -tag -width "screenshot_enabledXXX" -offset indent -compact
163 .It Cm color_focus
164 Border color of the currently focussed window.
165 .It Cm color_unfocus
166 Border color of unfocussed windows.
167 .It Cm bar_enabled
168 Enable or disable status bar.
169 .It Cm bar_border Ns Bq Ar x
170 Color of the status bar border in screen
171 .Ar x .
172 .It Cm bar_color Ns Bq Ar x
173 Color of the status bar window in screen
174 .Ar x .
175 .It Cm bar_font_color Ns Bq Ar x
176 Color of the font in status bar in screen
177 .Ar x .
178 .It Cm bar_font
179 Status bar font.
180 .It Cm bar_action
181 External script that populates additional information in the status bar,
182 such as battery life.
183 .It Cm bar_delay
184 Update frequency, in seconds, of external script that populates the status bar.
185 .It Cm spawn_term
186 External application that gets spawned when
187 .Cm M-S- Ns Aq Cm Return
188 is used.
189 .It Cm dialog_ratio
190 Some applications have dialogue windows that are too small to be useful.
191 This ratio is the screen size to what they will be resized.
192 For example, 0.6 is 60% of the physical screen size.
193 .It Cm region
194 Allocates a custom region, removing any autodetected regions which occupy the same
195 space on the screen.
196 Defined in the format screen[<idx>]:WIDTHxHEIGHT+X+Y, e.g. screen[1]:800x1200+0+0.
197 .It Cm screenshot_enabled
198 Enable or disable screenshot capability.
199 .It Cm screenshot_app
200 Set to the script that will take screenshots.
201 It will be called with "full" or "window" as parameter 1 to indicate what
202 screenshot action is expected.
203 The script shall handle those cases accordingly.
204 .It Cm term_width
205 Set a preferred minimum width for the terminal
206 If this value is greater than 0,
207 .Nm
208 will attempt to adjust the font sizes in the terminal to keep the terminal
209 width above this number as the window is resized.
210 Only
211 .Xr xterm 1
212 is currently supported.
213 The
214 .Xr xterm 1
215 binary must not be setuid or setgid, which it is by default on most systems.
216 Users may need to set spawn term to use an alternate copy of the
217 .Xr xterm 1
218 binary without the setgid bit set.
219 .El
220 .Pp
221 Colors need to be specified per the
222 .Xr XQueryColor 3
223 specification and fonts need to be specified per the
224 .Xr XQueryFont 3
225 specification.
226 .Sh FILES
227 .Bl -tag -width "/etc/scrotwm.confXXX" -compact
228 .It Pa ~/.scrotwm.conf
229 .Nm
230 user specific settings.
231 .It Pa /etc/scrotwm.conf
232 .Nm
233 global settings.
234 .El
235 .Sh HISTORY
236 .Nm
237 was inspired by xmonad & dwm.
238 .Sh AUTHORS
239 .An -nosplit
240 .Pp
241 .Nm
242 was written by
243 .An Marco Peereboom Aq marco@peereboom.us
244 and
245 .An Ryan Thomas McBride Aq mcbride@countersiege.com .
246 .Sh BUGS
247 Currently the menu, invoked with
248 .Cm M-p ,
249 depends on dmenu.