mirror of https://github.com/0intro/wmii
removed misleading fs-part
This commit is contained in:
parent
b3841e16ac
commit
f4ce71c9dd
371
cmd/wm/wmiiwm.1
371
cmd/wm/wmiiwm.1
|
@ -156,377 +156,6 @@ of
|
|||
.B wmiiwm
|
||||
with any 9P\-capable client, like
|
||||
.BR wmiir (1).
|
||||
.SS File system
|
||||
The
|
||||
.B wmiiwm
|
||||
filesystem is designed with simplicity and clarity in mind. It consists of
|
||||
logical namespaces which represent its internal state and data structure in a
|
||||
straight\-forward way. The following is a short description of each file and
|
||||
directory contained within the filesystem. For more information on the actual
|
||||
data stored in these files and the syntax recognized by each, see the
|
||||
.B Syntax
|
||||
section below.
|
||||
.TP 2
|
||||
Root directory
|
||||
.PD 0
|
||||
.RS 2
|
||||
.TP 2
|
||||
/bar
|
||||
This directory contains a representation of each label in the bar.
|
||||
.PD
|
||||
.TP
|
||||
/client
|
||||
This directory contains a representation of each client.
|
||||
.TP
|
||||
/ctl
|
||||
This file understands the internal commands
|
||||
.IR quit ,
|
||||
which quits the window manager, and
|
||||
.I view
|
||||
.IR <tag> ,
|
||||
which switches to a view for the specific tag.
|
||||
.TP
|
||||
/def
|
||||
This directory contains a representation of all default options.
|
||||
.TP
|
||||
/event
|
||||
This file reports events. Reading this file is blocking, this means that
|
||||
a 9P\-client will not exit until
|
||||
.B wmiiwm
|
||||
quits, or until the client is terminated explicitely.
|
||||
.TP
|
||||
/tags
|
||||
This file contains a newline\-separated list of all tags currently in use.
|
||||
.TP
|
||||
/view
|
||||
This and all other directories contain a representation of a view. The
|
||||
.I /view
|
||||
directory points to the currently selected view.
|
||||
.RE
|
||||
.TP
|
||||
Bar directory
|
||||
.PD 0
|
||||
.RS 2
|
||||
.TP 2
|
||||
/bar/X/colors
|
||||
This file defines the colors of the label as an RGB\-tuple.
|
||||
.PD
|
||||
.TP
|
||||
/bar/X/data
|
||||
This file contains the text displayed by the label; it may be empty.
|
||||
.RE
|
||||
.TP
|
||||
Clients directory
|
||||
.PD 0
|
||||
.RS 2
|
||||
.TP 2
|
||||
/client/X/class
|
||||
This file contains the X property
|
||||
.PD
|
||||
.I WM_CLASS
|
||||
of the client in the form of
|
||||
.IR <Class> : <instance> .
|
||||
.TP
|
||||
/client/X/ctl
|
||||
This file understands the internal client\-specific commands
|
||||
.IR kill ,
|
||||
which kills (closes) the client nicely,
|
||||
.I sendto
|
||||
.IR <prev|next|0..n|toggle> ,
|
||||
which sends the client to the previous, next, or explicitely addressed column,
|
||||
or toggles it between the floating and managed layer, and
|
||||
.IR swap <prev|next|up|down> ,
|
||||
which swaps the client with an adjacent client in the specified
|
||||
direction.
|
||||
.TP
|
||||
/client/X/geom
|
||||
This file contains the geometry of the client's frame and can be used
|
||||
to resize the client.
|
||||
.TP
|
||||
/client/X/index
|
||||
This file contains the index of the client in the
|
||||
.I /client
|
||||
namespace.
|
||||
.TP
|
||||
/client/X/name
|
||||
This file contains the X property
|
||||
.IR WM_NAME ,
|
||||
the client's name.
|
||||
.TP
|
||||
/client/X/tags
|
||||
This file contains the tags of the client.
|
||||
.RE
|
||||
.TP
|
||||
Defaults directory
|
||||
.PD 0
|
||||
.RS 2
|
||||
.TP 2
|
||||
/def/border
|
||||
This file defines the default border width for all clients in
|
||||
.PD
|
||||
.I <0..n>
|
||||
pixels.
|
||||
.TP
|
||||
/def/colmode
|
||||
This file defines the default column mode of newly created columns.
|
||||
.TP
|
||||
/def/colwidth
|
||||
This file defines the default width of newly created columns.
|
||||
.TP
|
||||
/def/font
|
||||
This file defines the X11 font to be used.
|
||||
.BR xfontsel (1)
|
||||
can be used to obtain valid fontnames.
|
||||
.TP
|
||||
/def/grabmod
|
||||
This file defines the default modifier for mouse\-grabs.
|
||||
.TP
|
||||
/def/keys
|
||||
This file contains a newline\-separated list of all shortcuts which should
|
||||
be grabbed by
|
||||
.BR wmiiwm .
|
||||
These are then reported as events.
|
||||
.TP
|
||||
/def/normcolors
|
||||
This file defines the colors of unselected clients and bar labels
|
||||
.TP
|
||||
/def/rules
|
||||
This file defines the rules for applying default tags to all clients with the
|
||||
.I nil
|
||||
tag and newly created clients.
|
||||
.TP
|
||||
/def/selcolors
|
||||
This file defines the colors of selected clients and bar labels.
|
||||
.RE
|
||||
.TP
|
||||
View directory
|
||||
.PD 0
|
||||
.RS 2
|
||||
.TP 2
|
||||
/view/X
|
||||
This directory contains a representation of a column or the floating layer. The
|
||||
.I /view/sel
|
||||
directory points to the currently selected column or the floating layer.
|
||||
.PD
|
||||
.TP
|
||||
/view/ctl
|
||||
This file understands the internal view\-specific command
|
||||
.I select
|
||||
.IR <0..n> ,
|
||||
which selects the specified area; 0 means floating layer, all other numeric
|
||||
values address one of the columns, from left to right.
|
||||
.TP
|
||||
/view/name
|
||||
This file contains the view's name, which corresponds to the currently viewed
|
||||
clients containing the equivalent tag.
|
||||
.RE
|
||||
.TP
|
||||
Column and floating layer directory
|
||||
.PD 0
|
||||
.RS 2
|
||||
.TP 2
|
||||
/view/X/Y
|
||||
This directory contains a representation of a client of this column or the
|
||||
floating layer respectively. Its contents are the same as in the
|
||||
.I /client/X
|
||||
namespace described above.
|
||||
.PD
|
||||
.TP
|
||||
/view/X/ctl
|
||||
This file understands the internal column\-specific command
|
||||
.I select
|
||||
.IR <0..n> ,
|
||||
which selects the specific client from top to bottom.
|
||||
.TP
|
||||
/view/X/mode
|
||||
This file defines the column mode of this column, described in detail below.
|
||||
Note, floating layer directories do not contain this file.
|
||||
.RE
|
||||
.SS Syntax
|
||||
All files of the filesystem described above can be read, most of them can be
|
||||
written as well. Most of them only can be written using valid syntax.
|
||||
.TP 2
|
||||
colors, selcolors, normcolors
|
||||
Each of these files expects three blank\-separated color values of the form
|
||||
.I #RRGGBB #RRGGBB
|
||||
.IR #RRGGBB .
|
||||
These tupples define foreground, background, and border colors respectively.
|
||||
.TP 2
|
||||
geom
|
||||
This file expects four blank\-separated alphanumeric values which define the
|
||||
client's geometry in the order
|
||||
.I <x>
|
||||
.I <y>
|
||||
.I <width>
|
||||
.IR <height> .
|
||||
Each value can be absolute like
|
||||
.IR <0..n> ,
|
||||
or an alignment value such as
|
||||
.IR north ,
|
||||
.IR west ,
|
||||
.IR south ,
|
||||
.IR east ,
|
||||
or
|
||||
.IR center .
|
||||
The alignment values address the screen border or center respectively.
|
||||
Thus they provide a resolution\-independent way of addressing specific coordinates.
|
||||
Absolute values can be prepended with the
|
||||
.I +
|
||||
or
|
||||
.I \-
|
||||
operators, which makes them relative to the old value, e.g.
|
||||
.IR \-40 .
|
||||
Alignment values can be appended with a relative value to address special positions, e.g.
|
||||
.IR south\-16 .
|
||||
.TP 2
|
||||
colmode, mode
|
||||
Each of these files expects one of the values
|
||||
.IR default ,
|
||||
.IR stack ,
|
||||
or
|
||||
.IR max ,
|
||||
defining the default, stacking, or maximized mode for columns respectively.
|
||||
.TP 2
|
||||
grabmod
|
||||
This file expects one of the values
|
||||
.IR Mod1 ,
|
||||
.IR Mod2 ,
|
||||
.IR Mod3 ,
|
||||
.IR Mod4 ,
|
||||
or
|
||||
.IR Mod5 .
|
||||
The value corresponds to the modifier key defined in X.
|
||||
For most keyboard layouts,
|
||||
.IR Mod1
|
||||
is the
|
||||
.IR Alt
|
||||
key.
|
||||
.TP 2
|
||||
keys
|
||||
This file expects a newline\-separated list of shortcuts of the form
|
||||
.BI [<modifier>\-] <key> .
|
||||
The modifier can be one or a combination of the following values:
|
||||
.IR Mod1 ,
|
||||
.IR Mod2 ,
|
||||
.IR Mod3 ,
|
||||
.IR Mod4 ,
|
||||
.IR Mod5 ,
|
||||
.IR Control ,
|
||||
and
|
||||
.IR Shift .
|
||||
For example, a valid modifier might be
|
||||
.IR Mod1\-Control\-Shift .
|
||||
It's also possible to have no modifier at all (just a key). This is still
|
||||
valid syntax. The key and modifier values must correspond to the key symbols
|
||||
reported by the
|
||||
.BR xev (1)
|
||||
utility.
|
||||
.TP 2
|
||||
rules
|
||||
This file expects a newline\-separated list of rules, each taking the form
|
||||
.B /regexp/
|
||||
\->
|
||||
.IR <tag> ,
|
||||
where
|
||||
.I regexp
|
||||
must be a POSIX compliant regular expression as defined in
|
||||
.BR regex (7).
|
||||
See the
|
||||
.B wmiirc
|
||||
script for examples.
|
||||
The rules are matched against the
|
||||
.I class
|
||||
and
|
||||
.I name
|
||||
file contents of a client whenever the rules file is written. The order in which
|
||||
the rules occur is important since they are applied from top to bottom.
|
||||
.RS 2
|
||||
.PP
|
||||
If the rules file is empty,
|
||||
.B wmiiwm
|
||||
assigns the
|
||||
.I nil
|
||||
tag to each client by default, resulting in only the nil\-view.
|
||||
Clients that contain a tag already, except the
|
||||
.I nil
|
||||
tag, are not matched.
|
||||
.PP
|
||||
The special
|
||||
.I ~
|
||||
tag makes the matched client floating at the time of creation or retag. It
|
||||
has to be assigned in a seperate rule and is always matched. The special
|
||||
.I !
|
||||
tag causes the matched client to inherit the currently viewed tag but only if no
|
||||
rule has matched yet. It should always be defined right before the point where
|
||||
the default tag is assigned.
|
||||
If a default tag other than
|
||||
.I nil
|
||||
is desired, e.g.
|
||||
.IR 1,
|
||||
then the last rule should be defined in the following form:
|
||||
.B /.*/
|
||||
\->
|
||||
.IR <default\-tag> .
|
||||
.SS Processing events
|
||||
To run
|
||||
.B wmiiwm
|
||||
in a useful way, it needs to be controlled by reading events
|
||||
from the
|
||||
.I /event
|
||||
file described above.
|
||||
.B wmiiwm reports the following events:
|
||||
.TP 2
|
||||
BarClick <label> <button>
|
||||
This event is reported whenever a label in the bar is clicked.
|
||||
The
|
||||
.IR <label>
|
||||
argument contains the name of the label in the
|
||||
.I /bar
|
||||
namespace. The
|
||||
.IR <button>
|
||||
argument contains the index of the mouse button that was pressed during the
|
||||
click, e.g.
|
||||
.IR 1,
|
||||
if it was the left mouse button.
|
||||
.TP 2
|
||||
ClientClick <index> <button>
|
||||
This event is reported whenever a client frame is clicked.
|
||||
The
|
||||
.IR <index>
|
||||
argument is the index of this client in the
|
||||
.I /client
|
||||
namespace. The
|
||||
.IR <button>
|
||||
argument contains the index of the mouse button that was pressed during the
|
||||
click, e.g.
|
||||
.IR 1,
|
||||
if it was the left mouse button.
|
||||
.TP 2
|
||||
ClientFocus <index>
|
||||
This event is reported whenever a client is focused. The
|
||||
.IR <index>
|
||||
argument is the index of this client in the
|
||||
.I /client
|
||||
namespace.
|
||||
.TP 2
|
||||
CreateClient <index>
|
||||
This event is reported whenever a client is created. The
|
||||
.IR <index>
|
||||
argument is the index of this client in the
|
||||
.I /client
|
||||
namespace.
|
||||
.TP 2
|
||||
Key <shortcut>
|
||||
This event is reported whenever a shortcut is pressed that was
|
||||
grabbed through writing the
|
||||
.I /def/keys
|
||||
file.
|
||||
.TP 2
|
||||
User defined
|
||||
Any writes to the
|
||||
.I /event
|
||||
file will be reported to all readers. This allows to implement user defined
|
||||
events.
|
||||
.SH SEE ALSO
|
||||
.BR wmii (1),
|
||||
.BR dmenu (1),
|
||||
|
|
Loading…
Reference in New Issue