JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Make resize smarter so that M-M3 resizes the window without centering it
[spectrwm.git] / 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- Ns Aq Cm Return
85 Move current window to master area
86 .It Xo
87 .Cm M-j ,
88 .Cm M- Ns Aq Cm TAB
89 .Xc
90 Focus next window in workspace
91 .It Xo
92 .Cm M-k ,
93 .Cm M-S- Ns Aq Cm TAB
94 .Xc
95 Focus previous window in workspace
96 .It Cm M-m
97 Focus on main window in workspace
98 .It Cm M-S-j
99 Swap with next window in workspace
100 .It Cm M-S-k
101 Swap with previous window in workspace
102 .It Cm M-b
103 Toggle status bar in all workspaces
104 .It Cm M-S-x
105 Destroy current window in workspace
106 .It Cm M- Ns Aq Ar n
107 Switch to workspace
108 .Ar n
109 .It Cm M-S- Ns Aq Ar n
110 Move current window to workspace
111 .Ar n
112 .It Cm M- Ns Aq Cm Right
113 Switch to next workspace with a window in it
114 .It Cm M- Ns Aq Cm Left
115 Switch to previous workspace with a window in it
116 .It Cm M-S- Ns Aq Cm Right
117 Move pointer to next region
118 .It Cm M-S- Ns Aq Cm Left
119 Move pointer to previous region
120 .It Cm M-s
121 Take screenshot of entire screen (if enabled)
122 .It Cm M-S-s
123 Take screenshot of selected window (if enabled)
124 .It Cm M-S-v
125 Toggle version in status bar
126 .It Cm M1
127 Focus window
128 .It Cm M-M1
129 Move window
130 .It Cm M-M3
131 Resize window
132 .It Cm M-S-M3
133 Resize window while maintaining it centered
134 .El
135 .Sh CONFIGURATION FILES
136 .Nm
137 first tries to open the user specific file,
138 .Pa ~/.scrotwm.conf .
139 If that file is unavailable,
140 it then tries to open the global configuration file
141 .Pa /etc/scrotwm.conf .
142 .Pp
143 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
144 For example:
145 .Pp
146 .Dl color_focus = red
147 .Pp
148 Enabling or disabling an option is done by using 1 or 0 respectively.
149 .Pp
150 The file supports the following keywords:
151 .Pp
152 .Bl -tag -width "screenshot_enabledXXX" -offset indent -compact
153 .It Cm color_focus
154 Border color of the currently focussed window.
155 .It Cm color_unfocus
156 Border color of unfocussed windows.
157 .It Cm bar_enabled
158 Enable or disable status bar.
159 .It Cm bar_border Ns Bq Ar x
160 Color of the status bar border in screen
161 .Ar x .
162 .It Cm bar_color Ns Bq Ar x
163 Color of the status bar window in screen
164 .Ar x .
165 .It Cm bar_font_color Ns Bq Ar x
166 Color of the font in status bar in screen
167 .Ar x .
168 .It Cm bar_font
169 Status bar font.
170 .It Cm bar_action
171 External script that populates additional information in the status bar,
172 such as battery life.
173 .It Cm bar_delay
174 Update frequency, in seconds, of external script that populates the status bar.
175 .It Cm spawn_term
176 External application that gets spawned when
177 .Cm M-S- Ns Aq Cm Return
178 is used.
179 .It Cm dialog_ratio
180 Some applications have dialogue windows that are too small to be useful.
181 This ratio is the screen size to what they will be resized.
182 For example, 0.6 is 60% of the physical screen size.
183 .It Cm screenshot_enabled
184 Enable or disable screenshot capability.
185 .It Cm screenshot_app
186 Set to the script that will take screenshots.
187 It will be called with "full" or "window" as parameter 1 to indicate what
188 screenshot action is expected.
189 The script shall handle those cases accordingly.
190 .El
191 .Pp
192 Colors need to be specified per the
193 .Xr XQueryColor 3
194 specification and fonts need to be specified per the
195 .Xr XQueryFont 3
196 specification.
197 .Sh FILES
198 .Bl -tag -width "/etc/scrotwm.confXXX" -compact
199 .It Pa ~/.scrotwm.conf
200 .Nm
201 user specific settings.
202 .It Pa /etc/scrotwm.conf
203 .Nm
204 global settings.
205 .El
206 .Sh HISTORY
207 .Nm
208 was inspired by xmonad & dwm.
209 .Sh AUTHORS
210 .An -nosplit
211 .Pp
212 .Nm
213 was written by
214 .An Marco Peereboom Aq marco@peereboom.us
215 and
216 .An Ryan Thomas McBride Aq mcbride@countersiege.com .
217 .Sh BUGS
218 Currently the menu, invoked with
219 .Cm M-p ,
220 depends on dmenu.