-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
322 lines (250 loc) · 13.5 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
evilwm(1) General Commands Manual evilwm(1)
NAME
evilwm--minimalist window manager for X11
SYNOPSIS
evilwm [OPTION]...
DESCRIPTION
evilwm is a minimalist window manager for the X Window System. It
features plenty of reconfigurable mouse and keyboard controls while
providing a clean display, uncluttered by less useful window furniture
(like title bars).
OPTIONS
--display display
specifies the X display to run on. Usually this can be inferred
from the DISPLAY environment variable.
--term termprog
specifies an alternative program to run when spawning a new
terminal (defaults to xterm, or x-terminal-emulator in Debian).
Separate arguments with whitespace, and escape needed whitespace
with a backslash. Remember that special characters will also
need to be protected from the shell.
--fn fontname
specify a font to use when resizing or displaying window titles
(X Logical Font Description, with * and ? wildcards).
--fg colour
--fc colour
--bg colour
frame colour of currently active, fixed active, and inactive
windows respectively. Either specify an X11 colour name like
goldenrod, or a hex triplet like #DAA520.
--bw borderwidth
width of window borders in pixels.
--snap distance
enable snap-to-border support. distance is the proximity in
pixels to snap to.
--kbpx distance
modify keyboard move/resize distance, in pixels.
--quickmove multiplier
--quickmovems milliseconds
multiply keyboard move distance by multiplier when there was a
kbmove in the last milliseconds ms. Defaults to 1.0 and 250
respectively.
--wholescreen
ignore monitor geometry and use the whole screen dimensions.
This is the old behaviour from before multi-monitor support was
implemented, and may still be useful, eg when one large monitor
is driven from multiple outputs.
--numvdesks value
number of virtual desktops to provide. Effective value for
relative moves will be the greatest integer multiple of
--modvdesks less than or equal to this value. Defaults to 8.
--modvdesks value
vdesk loop modulus and distance for left/right relative vdesk.
Relative movement up from n*value-1 or down from n*value will
instead move down or up (respectively) by value-1. This is
equivalent to having a two-dimensional looping vdesk array of
num/mod (lr) x mod (ud). Defaults to 0. value being 0 is
equivalent to it being the current value of --numvdesks.
Example: --numvdesks 12 --modvdesks 4 will give a 2x4 array with
numbering
3 7 B
2 6 A
1 5 9
0 4 8
--docks value
set to 0 to hide all docks initially.
--soliddrag value
--solidsweep value
set to 1 to draw a window outline while moving or resizing.
--mask1 modifier[+modifier]...
--mask2 modifier[+modifier]...
--altmask modifier[+modifier]...
override the default keyboard modifiers used to grab keys for
window manager functionality.
mask1 is used for most keyboard controls (default: control+alt),
and mask2 is used for mouse button controls and cycling windows
(default: alt). altmask is used to modify the behaviour of
certain controls (default: shift). Modifiers may be separated
with + signs. Valid modifiers are 'shift', 'control'/'ctrl',
'mod1'/'alt', 'mod2'...'mod5'.
--bind [modifier+]...key/button=[function[,flag[+flag]...]]
bind a key or mouse button pressed with specified modifiers to a
window manager function. key/button is an X11 keysym name or
'buttonN', where N is a positive integer of decimal,
0xhexadecimal, or 0octal form, modifiers are as above, but may
also include 'mask1', 'mask2' and 'altmask' to refer to
configured mask variables. See FUNCTIONS for a list of available
functions and the flags they recognise. If function is empty, a
bind is removed.
--bind button=[function[,flag]...]
bind a mouse button to a window manager function. While
modifiers can be specified, they will be ignored; the button on
its own will trigger if pressed within a window's frame, or with
'mask2' held anywhere within a window. Function and flags is as
with key binds above. Valid buttons are
--nodefaultbinds
don't use the original compiled-in default bindings.
--app [name][/[class][/[title]]]
match an application by instance name and class (for help in
finding these, use the xprop tool to extract the WM_CLASS
property; the two strings are name and class respectively,
checked exactly), and by title (checked as substring, WM_NAME in
xprop).
Ex: --app a/b/c will match a window with WM_CLASS { "a", "b" }
and a WM_NAME containing the letter c anywhere. Ex: --app a
will match a window with WM_CLASS[0] "a". Ex: --app /b will
match a window with either blank or missing WM_CLASS[0], and
WM_CLASS[1] "b". Ex: --app //c will match a window with
completely blank/missing WM_CLASS and a WM_NAME containing the
letter c anywhere. Subsequent --geometry, --dock, --vdesk and
--fixed options will apply to this match.
-g, --geometry geometry
apply a geometry (using a standard X geometry string) to
applications matching the last --app.
-m, --manual
specify that application should be entirely ignored when it asks
to move.
-d, --dock
specify that application should be considered to be a dock, even
if it lacks the appropriate property.
-v, --vdesk n
specify a default virtual desktop for applications matching the
last --app. Note that virtual desktops are numbered from zero.
-f, --fixed
specify that application is to start with a fixed client window.
-h, --help
show help
-hh, --writedefaults
show all option defaults, in a format that could be put in your
.evilwmrc
-V, --version
show program version
evilwm will also read options, one per line, from a file called
.evilwmrc in the user's home directory. Options listed in a
configuration file should omit the leading dash(es). Options specified
on the command line override those found in the configuration file.
USAGE & FUNCTIONS
In evilwm, the focus follows the mouse pointer, and is not lost if you
stray onto the root window. The current window border is shaded gold
(unless it is fixed, in which case blue), with other windows left as a
dark grey.
The keyboard and mouse button controls can be configured with the
--bind option to a number of built-in functions. Typically, these
functions respond to an additional set of flags that modify their
behaviour: up/u/on, down/d/off, left/l, right/r, top, bottom, any
number, relative/rel, toggle, vertical/v, horizontal/h.
bind command, default key
Description.
You can use the mouse to manipulate windows either by click/dragging
the single-pixel border (easier when they align with a screen edge), or
by holding down mask2/Alt and doing so anywhere in the window. The
mask2/Alt-based controls are:
move, Button 1
Move window with mouse.
resize, Button 2
Resize window between starting upper-left corner and mouse
position.
lower, Button 3
Put window at back of render order.
next, Tab
Classic Alt+Tab, switch to most recently selected window and
keep switching to less recent windows on every consecutive press
while the modifier key(s) are held
Most keyboard controls are used by holding down mask1/Control+Alt, then
pressing a key. Available functions are:
spawn, Return
Spawn new terminal (or other process) with the command in
--term.
delete, Escape
kill, Shift+Escape
Delete current window, nicely. Hold altmask/Shift as well to
force kill a client if it does not respond to delete.
lower, Insert
Lower current window to back of render order.
raise, (none)
Raise current window.
move,relative+, H, J, K, L
resize,relative+, Shift+ H, J, K, L
Move window left, down, up or right (--kbpx/16 pixels). Holding
altmask/Shift resizes the window narrower, taller, shorter, or
wider.
move,top+/move,bottom+, Y, U, B, N
Move window to the top-left, top-right, bottom-left or bottom-
right of its current monitor.
info, I
Show extra information about the current window for as long as
the key is held.
resize,toggle+, Equals
Toggle maximization of current window to current monitor
vertically, or horizontally when holding altmask/Shift
resize,toggle+v+h, X
Toggle maximization of current window to current monitor.
docks,toggle, D
Toggle visible state of windows claiming to be docks or marked
as docks through --app -d, eg pagers and launch bars.
binds,toggle, Compose
Toggle all other bindings (stop listening to any bind other than
binds,toggle, binds, up, or mouse actions on the border).
fix,toggle, F
Fix or unfix current window. Fixed windows remain visible when
you switch virtual desktop.
vdesk,, 1--8
Switch to specific virtual desktop (internally, desktops are
numbered from zero, so this actually switches to desktops 0--7;
this only becomes important if you use application matching).
vdesk,relative+down, Left
Switch to next lower numbered virtual desktop, modulo modvdesks.
vdesk,relative+up, Right
Switch to next higher numbered virtual desktop, modulo
modvdesks.
vdesk,relative+left, Down
Switch to virtual desktop modvdesks higher, modulo numvdesks.
vdesk,relative+right, Up
Switch to virtual desktop modvdesks lower, modulo numvdesks.
vdesk,toggle, A
Switch to the previously selected virtual desktop.
To make evilwm reread its config, send a HUP signal to the process. To
make it quit, kill it, ie send a TERM signal.
FILES
$HOME/.evilwmrc
LICENCE
Copyright (C) 1999-2022 Ciaran Anscomb <[email protected]>
This is free software. You can do what you want to it, but if it breaks
something, you get to pay for the counselling. The code was originally
based on aewm, so this is distributed under the same terms, which
follow.
AEWM LICENCE
Copyright (c) 1998-2000 Decklin Foster.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS", WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES OF ANY KIND. IN NO EVENT SHALL THE AUTHOR BE HELD
LIABLE FOR ANY DAMAGES CONNECTED WITH THE USE OF THIS PROGRAM.
You are granted permission to copy, publish, distribute, and/or sell
copies of this program and any modified versions or derived works,
provided that this copyright and notice are not removed or altered.
Portions of the code were based on 9wm, which contains this license:
9wm is free software, and is Copyright (c) 1994 by David Hogan.
Permission is granted to all sentient beings to use this
software, to make copies of it, and to distribute those copies,
provided that:
(1) the copyright and licence notices are left intact
(2) the recipients are aware that it is free software
(3) any unapproved changes in functionality are either
(i) only distributed as patches
or (ii) distributed as a new program which is not called 9wm
and whose documentation gives credit where it is due
(4) the author is not held responsible for any defects
or shortcomings in the software, or damages caused by it.
There is no warranty for this software. Have a nice day.
SEE ALSO
xterm (1), xprop (1), xmodmap (1), xorg-xfontsel (1)
evilwm-1.4 October 2022 evilwm(1)