-
Notifications
You must be signed in to change notification settings - Fork 8
/
echinus.1
343 lines (343 loc) · 8.83 KB
/
echinus.1
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
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
.Dd $Mdocdate$
.Dt ECHINUS 1
.Os
.Sh NAME
.Nm echinus
.Nd a lightweight window manager for X11
.Sh SYNOPSIS
.Nm echinus
.Bk -words
.Op Fl v
.Op Fl f Ar conf
.Ek
.Sh DESCRIPTION
.Nm
is a lightweight window manager for X based on dwm's source code.
It manages windows in maximized, floating and tiled layouts.
Either layout can be applied dynamically, optimizing the environment for the
application in use and the task performed.
.Pp
In maximized layout only one window can be seen at the moment, but you
can switch between them with hotkeys.
In floating layout windows can be resized and moved freely.
Dialog windows are always managed floating, regardless of the layout applied.
.Pp
Windows are grouped by tags. Each window can be tagged with one or
multiple tags. Selecting certain tags displays all windows with these tags.
.Pp
.Nm
draws a small border around windows to indicate the focus state and an
optional titlebar.
.Pp
The options are as follows:
.Bl -tag -width "XXXXXXXXXXXX"
.It Fl v
Prints version information to standard output, then exits.
.It Fl f Ar conf
Specifies an alternative configuration file.
By default,
.Nm
loads the configuration file from
.Pa ~/.echinus/echinusrc,
if present, then looks for the system-wide configuration file
.Pa CONFDIR/echinusrc .
.El
.Pp
The following notation is used in this page:
.Pp
.Bl -tag -width Ds -offset indent -compact
.It Ic A
Alt.
.It Ic C
Control.
.It Ic S
Shift.
.It Ic W
Windows key.
.It Ic M1
Left mouse button.
.It Ic M2
Middle mouse button.
.It Ic M3
Right mouse button.
.El
.Sh KEY BINDINGS
The default key bindings are:
.Pp
.Bl -tag -width "XXXXXXXXXXXX" -offset indent -compact
.It Ic A-[F1..Fn]
Views all windows with n-th tag.
.It Ic A-Return
Zooms/cycles current window to/from master area (tiled layout only).
.It Ic A-Space
Toggles between tiled and floating layout (affects all windows).
.It Ic A-Tab
Toggles to the previously selected tags.
.It Ic A-b
Toggles on/off statusbar space.
.It Ic A-f
Enables floating mode.
.It Ic A-h
Decreases the master area width about 5% (tiled layout only).
.It Ic A-i
Enables floating mode.
.It Ic A-j
Focuses next window.
.It Ic A-k
Focuses previous window.
.It Ic A-l
Increases the master are width about 5% (tiled layout only).
.It Ic A-m
Enables maximized (monocle) mode.
.It Ic A-r
Enables tiled mode.
.It Ic A-t
Starts xterm.
.It Ic A-w
Enables bottom-tiled mode.
.It Ic A-C-[1..n]
Adds/removes all windows with n-th tag to/from the view.
.It Ic A-C-q
Quits
.Nm .
.It Ic A-C-S-[1..n]
Adds/removes n-th tag to/from current window.
.It Ic A-S-[1..n]
Applies n-th tag to current window.
.It Ic A-S-c
Closes focused window.
.El
.Sh MOUSE BINDINGS
The default mouse bindings are:
.Pp
.Bl -tag -width "XXXXXXXX" -offset indent -compact
.It Ic M1
When pressed on the titlebar, focuses window and raises it on top of the stack.
.It Ic M2
When pressed on the titlebar, resizes window.
.It Ic M3
When pressed on the root window, draws a rectangle to start a terminal in it.
.It Ic A-M1
Moves current window while dragging.
Tiled windows will be toggled to the floating state.
.It Ic A-M2
Zooms/cycles current window to/from master area.
If it is floating (but not fixed) it will be toggled to the tiled state,
instead.
.It Ic A-M3
Resizes current window while dragging.
Tiled windows will be toggled to the floating state.
.El
.Sh CUSTOMIZATION
The configuration file is a set of X resources (with a class of Echinus),
which are described in the sections below.
.Pp
Every relative path specified is relative to the directory in which the
configuration file is in.
.Sh MAIN SETTINGS
.Bl -tag -width Ds
.It Ic attachaside
Set new windows as slave or master.
.Bl -column "Character" "Meaning" -offset indent
.It Sy "Value" Ta Sy "Meaning"
.It Li "0" Ta "New windows as master"
.It Li "1" Ta "New masters as slave"
.El
.It Ic deflayout
Layout applied to tag if not explicitly set by tags.layout later.
.Bl -column "Character" "Meaning" -offset indent
.It Sy "Value" Ta Sy "Meaning"
.It Li "b" Ta "Bottom Stack"
.It Li "f" Ta "Floating"
.It Li "i" Ta "Ifloating"
.It Li "m" Ta "Maximized"
.It Li "t" Ta "Tiled"
.El
.It Ic gap
Gap size between tiling windows in pixels.
.It Ic modkey
Choose modkey.
.It Ic mwfact
Space occupied by master window in tiled layout (fraction of 1).
.It Ic nmaster
Number of clients in master area in tiled layout.
.It Ic sloppy
Sets the type of sloppy focus to use.
.Bl -column "Number" "Meaning" -offset indent
.It Sy "Value" Ta Sy "Meaning"
.It Li "0" Ta "Click to focus"
.It Li "1" Ta "Sloppy focus for floating clients"
.It Li "2" Ta "Sloppy focus for everything"
.It Li "3" Ta "Sloppy focus and raise on focus"
.El
.El
.Sh BORDER SETTINGS
.Bl -tag -width Ds
.It Ic border
Width of the border (in pixels).
.El
.Sh BUTTON SETTINGS
.Bl -tag -width Ds
.It Ic button.close.pixmap
.It Ic button.iconify.pixmap
.It Ic button.maximize.pixmap
Sets the close, iconify and maximize buttons in the titlebar.
.El
.Sh COLOR SETTINGS
.Bl -tag -width Ds
.It Ic normal.bg
Sets the titlebar background for unfocused windows.
.It Ic normal.border
Sets the color of a small border around each unfocused window.
.It Ic normal.button
Sets the button foreground for unfocused windows.
.It Ic normal.fg
Sets the titlebar foreground for unfocused windows.
.It Ic selected.bg
.It Ic selected.border
.It Ic selected.button
.It Ic selected.fg
Sets color options for focused windows.
.El
.Sh HACKS SETTINGS
.Bl -tag -width Ds
.It Ic hidebastards
Hide panels, pagers and others with togglestruts function.
.El
.Sh KEYBINDINS SETTINGS
.Bl -tag -width Ds
.It Ic ACSW + key [ = options ]
Binds key to the specified command (see
.Sx COMMANDS )
.Ns . Spaces are mandatory.
.Pp
Key is taken from the X11 files (usually located under an include directory)
.Pa keysym.h
and,
.Pa XF86keysym.h
and removing the XK_ prefix before use.
.Pp
Commands options are specified after an equal sign.
.El
.Sh MISC SETTINGS
.Bl -tag -width Ds
.It Ic command
Application to run on right click on root window.
.It Ic opacity
Opacity value for inactive windows (xcompmgr needed).
.El
.Sh TAGS SETTINGS
.Bl -tag -width Ds
.It Ic tags.layout{...}
Layout per tag on start (see
.Ic deflayout )
.Ns .
.It Ic tags.name{...}
Names of the tags.
.It Ic tags.number
Number of tags.
.El
.Sh TITLE SETTINGS
.Bl -tag -width Ds
.It Ic decoratetiled
If one, draw titles in tiled mode.
.It Ic font
Titlebar font.
.It Ic title
Titlebar height.
.It Ic titlelayout
Titlebar consists of 3 parts separated with dashes or spaces.
Left is aligned to left, center to center and right to right (obviously).
Default value is "N IMC" meaning name on the left iconify, maximize and
close buttons on right (note 2 spaces).
.Bl -column "Character" "Meaning" -offset indent
.It Sy "Value" Ta Sy "Meaning"
.It Li "dash" Ta "skip space (space can't be used as first character)"
.It Li "space" Ta "Same as the above"
.It Li "C" Ta "Close"
.It Li "I" Ta "Iconify"
.It Li "M" Ta "Maximize"
.It Li "N" Ta "Window name"
.It Li "T" Ta "Tagbar"
.El
.El
.Sh COMMANDS
.Bl -tag -width Ds
.It Ic focusnext
.It Ic focusprev
Focuses next or previous window.
.It Ic focusview#
Toggles view number # and focuses the first client in it.
.It Ic killclient
Closes current focused window.
.It Ic movedown
.It Ic moveleft
.It Ic moveright
.It Ic moveup Ar x y w h
Moves the window by the specified number of pixels in the specified direction.
.It Ic restart
Restarts
.Nm .
.It Ic quit
Exits
.Nm .
.It Ic resizedecx
.It Ic resizedecy
.It Ic resizeincx
.It Ic rezizeincy Ar x y w h
Resizes the window by the specified number of pixels in the specified
direction.
.It Ic rule# Ar class.title tag isfloating hastitle
Sets a rule for the specified window class or title.
NULL indicates that no tag is needed.
.It Ic spawn#
Runs specified program (upto 64).
.It Ic tag#
Tags current window with tag number #.
.It Ic togglefloating
Toggles floating or tiled mode.
.It Ic togglemonitor
Switches from one monitor to another.
.It Ic togglestruts
.Nm
has no bar, but this command switches the area on top or bottom which won't
be covered by windows in tiled on monocle mode.
.It Ic toggleview#
Toggles view number #.
.It Ic view#
Views tag number #.
.It Ic viewlefttag
.It Ic viewrighttag
Views tag on left or right.
.It Ic viewprevtag
View previous tag set.
.El
.Sh EXAMPLES
To move a window five pixels to the right:
.Pp
.Dl Echinus*moveright: AS + l = +5 0 0 0
.Pp
To resize a window five pixels down:
.Pp
.Dl Echinus*resizedecy: AS + v = 0 0 0 -5
.Pp
To make mplayer float and with a title by default:
.Dl Echinus*rule0: Mplayer.* NULL 1 1
.Pp
To spawn an xterm when A + T is pressed:
.Dl Echinus*spawn0: A + t = xterm
.Pp
To show the title centered and the close button on the right:
.Dl Echinus*titlelayout: -T-C
.Sh CONFORMING TO
.Nm
is partially EWMH (NetWM) compliant, so you can use your favourite panel or
pager.
.Sh SEE ALSO
.Xr dmenu 1
.Xr dwm 1
.Sh BUGS
parsekey() doesn't handle non-alphanumeric keysyms.
.Pp
You should find lots of them. If you did please contact me, my mail is
<polachok at gmail dot com>.