💾 Archived View for gemini.rmf-dev.com › repo › Vaati › cwm › files › e0a892eb7588f340d89638591e6309… captured on 2023-01-29 at 04:31:29. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
0 .\" $OpenBSD$
1 .\"
2 .\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
3 .\"
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd $Mdocdate$
17 .Dt CWM 1
18 .Os
19 .Sh NAME
20 .Nm cwm
21 .Nd a lightweight and efficient window manager for X11
22 .Sh SYNOPSIS
23 .\" For a program: program [-abc] file ...
24 .Nm cwm
25 .Op Fl nv
26 .Op Fl c Ar file
27 .Op Fl d Ar display
28 .Sh DESCRIPTION
29 .Nm
30 is a window manager for X11 which contains many features that
31 concentrate on the efficiency and transparency of window management,
32 while maintaining the simplest and most pleasant aesthetic.
33 .Pp
34 The options are as follows:
35 .Bl -tag -width Ds
36 .It Fl c Ar file
37 Specify an alternative configuration file.
38 By default,
39 .Nm
40 loads
41 .Pa ~/.cwmrc ,
42 if present.
43 Any error messages from lines in the configuration file will be sent to
44 .Em stderr ;
45 however,
46 .Nm
47 will continue to process the rest of the configuration file.
48 .It Fl d Ar display
49 Specify the display to use.
50 .It Fl n
51 Configtest mode.
52 Only check the configuration file for validity.
53 .It Fl v
54 Verbose mode.
55 Multiple
56 .Fl v
57 options increase the verbosity.
58 .El
59 .Pp
60 .Nm
61 actions are initiated either via key or mouse bindings.
62 The following notations are used throughout this page:
63 .Pp
64 .Bl -tag -width Ds -offset indent -compact
65 .It Ic C
66 Control key.
67 .It Ic M
68 Meta key.
69 .It Ic S
70 Shift key.
71 .It Ic 4
72 Mod4 (windows) key.
73 .It Ic M1
74 Left mouse button.
75 .It Ic M2
76 Middle mouse button.
77 .It Ic M3
78 Right mouse button.
79 .El
80 .Pp
81 The default key bindings are:
82 .Pp
83 .Bl -tag -width "CM-EscapeXXXXX" -offset indent -compact
84 .It Ic CM-Return
85 Spawn a new terminal.
86 .It Ic CM-Delete
87 Lock the screen.
88 .It Ic M-Return
89 Hide current window.
90 .It Ic M-Down
91 Lower current window.
92 .It Ic M-Up
93 Raise current window.
94 .It Ic M-slash
95 Search for windows.
96 .It Ic C-slash
97 Search for applications.
98 .It Ic CM-n
99 Label current window.
100 .It Ic M-Tab
101 Cycle through currently visible windows.
102 .It Ic MS-Tab
103 Reverse cycle through currently visible windows.
104 .It Ic CM-x
105 Close current window.
106 .It Ic CM-[n]
107 Toggle visibility of group n, where n is 1-9.
108 .It Ic CM-a
109 Toggle visibility of all groups.
110 .It Ic CM-g
111 Toggle group membership of current window.
112 .It Ic M-Right
113 Cycle through active groups.
114 .It Ic M-Left
115 Reverse cycle through active groups.
116 .It Ic CMS-f
117 Toggle freezing geometry of current window.
118 .It Ic CM-s
119 Toggle stickiness of current window.
120 .It Ic CM-f
121 Toggle full-screen mode of current window.
122 .It Ic CM-m
123 Toggle maximization of current window.
124 .It Ic CM-equal
125 Toggle vertical maximization of current window.
126 .It Ic CMS-equal
127 Toggle horizontal maximization of current window.
128 .It Ic M-[hjkl]
129 Move window by a small amount.
130 .It Ic MS-[hjkl]
131 Move window by a large amount; see
132 .Xr cwmrc 5 .
133 .It Ic CM-[hjkl]
134 Resize window by a small amount.
135 .It Ic CMS-[hjkl]
136 Resize window by a large amount; see
137 .Xr cwmrc 5 .
138 .It Ic M-question
139 Spawn
140 .Dq exec program
141 dialog.
142 .It Ic M-period
143 Spawn
144 .Dq ssh to
145 dialog.
146 This parses
147 .Pa $HOME/.ssh/known_hosts
148 to provide host auto-completion.
149 .Xr ssh 1
150 will be executed via the configured terminal emulator.
151 .It Ic CM-w
152 Spawn
153 .Dq exec WindowManager
154 menu, allowing a switch to another window manager.
155 .It Ic CMS-r
156 Restart.
157 .It Ic CMS-q
158 Quit.
159 .El
160 .Pp
161 The default mouse bindings are:
162 .Pp
163 .Bl -tag -width "CM-EscapeXXXXX" -offset indent -compact
164 .It Ic M-M1
165 Move current window.
166 .It Ic CM-M1
167 Toggle group membership of current window.
168 .It Ic M-M2
169 Resize current window
170 .It Ic M-M3
171 Lower current window.
172 .It Ic CMS-M3
173 Hide current window.
174 .El
175 .Pp
176 The following key bindings may be used to navigate
177 search and exec dialogs:
178 .Pp
179 .Bl -tag -width "[Down] or C-s or M-j" -offset indent -compact
180 .It Ic [Return]
181 Select item.
182 .It Ic [Down], C-s No or Ic M-j
183 Next item.
184 .It Ic [Up], C-r No or Ic M-k
185 Previous item.
186 .It Ic [Backspace] No or Ic C-h
187 Backspace.
188 .It Ic C-u
189 Clear input.
190 .It Ic C-a
191 List all available items.
192 .It Ic [Esc]
193 Cancel.
194 .El
195 .Pp
196 .Nm
197 rereads its configuration file when it receives a hangup signal,
198 .Dv SIGHUP ,
199 by executing itself with the name and arguments with which it was started.
200 This is equivalent to the
201 .Ar restart
202 function.
203 .Sh SEARCH
204 .Nm
205 features the ability to search for windows by their current title,
206 old titles, and by their label.
207 The priority for the search results are: label, current title,
208 old titles in reverse order, and finally window class name.
209 .Nm
210 keeps a history of the 5 previous titles of a window.
211 .Pp
212 When searching, the leftmost character of the result list may show a
213 flag:
214 .Pp
215 .Bl -tag -width Ds -offset indent -compact
216 .It !
217 Window is currently focused.
218 .It &
219 Window is hidden.
220 .El
221 .Sh APPLICATIONS
222 .Nm
223 manages a list of applications defined with the
224 .Cm command
225 configuration option.
226 .Sh GROUPS
227 .Nm
228 has the ability to group windows together, and use the groups to
229 perform operations on the entire group instead of just one window.
230 Together with the
231 .Pa sticky
232 option, this can be used to emulate virtual desktops.
233 .Pp
234 To edit groups, use the group selection commands to toggle membership
235 of a group.
236 A blue border will be shown briefly on windows added to the current group,
237 and a red border will be shown on those just removed.
238 .Sh MENUS
239 Menus are recalled by clicking the mouse on the root window:
240 .Pp
241 .Bl -tag -width Ds -offset indent -compact
242 .It Ic M1
243 Show list of currently defined windows.
244 Selecting an item will warp to that window, unhiding it if necessary.
245 .It Ic M2
246 Show list of currently defined groups.
247 Selecting an item will hide/unhide that group.
248 .It Ic M3
249 Show list of applications as defined in the configuration file.
250 Selecting an item will spawn that application.
251 .El
252 .Sh ENVIRONMENT
253 .Bl -tag -width "DISPLAYXXX" -compact
254 .It DISPLAY
255 .Nm
256 starts on this display unless the
257 .Fl d
258 option is given.
259 .El
260 .Sh FILES
261 .Bl -tag -width "~/.cwmrcXX" -compact
262 .It Pa ~/.cwmrc
263 Default
264 .Nm
265 configuration file.
266 .El
267 .Sh SEE ALSO
268 .Xr cwmrc 5
269 .Sh HISTORY
270 .Nm
271 was originally inspired by evilwm, but was rewritten from scratch
272 due to limitations in the evilwm codebase.
273 The from-scratch rewrite borrowed some code from 9wm, however that code
274 has since been removed or rewritten.
275 .Pp
276 .Nm
277 first appeared in
278 .Ox 4.2 .
279 .Sh AUTHORS
280 .An -nosplit
281 .Nm
282 was developed by
283 .An Marius Aamodt Eriksen Aq marius@monkey.org
284 with contributions from
285 .An Andy Adamson Aq dros@monkey.org ,
286 .An Niels Provos Aq provos@monkey.org ,
287 and
288 .An Antti Nyk\(:anen Aq aon@iki.fi .
289 Ideas, discussion with many others.
290