mirror of
https://github.com/0intro/wmii
synced 2024-11-22 22:02:30 +03:00
681 lines
14 KiB
Groff
681 lines
14 KiB
Groff
'\" t
|
|
.\" Manual page created with latex2man on Mon Jun 11 12:08:17 EDT 2007
|
|
.\" NOTE: This file is generated, DO NOT EDIT.
|
|
.de Vb
|
|
.ft CW
|
|
.nf
|
|
..
|
|
.de Ve
|
|
.ft R
|
|
|
|
.fi
|
|
..
|
|
.TH "WMII" "1" "11 June 2007" "" ""
|
|
.SH NAME
|
|
wmii\-VERSION
|
|
.PP
|
|
.SH SYNOPSIS
|
|
wmii
|
|
[\fB\-a\fP\fI<address>\fP]
|
|
[\fB\-c\fP\fI<wmiirc>\fP]
|
|
.br
|
|
wmii
|
|
\fB\-v\fP
|
|
.PP
|
|
.SH DESCRIPTION
|
|
.PP
|
|
.SS OVERVIEW
|
|
.PP
|
|
wmii
|
|
is a dynamic window manager for X11. In contrast to
|
|
static window management the user rarely has to think about how to
|
|
organize windows, no matter what he is doing or how many
|
|
applications are used at the same time. The window manager adapts
|
|
to the current environment and fits to the needs of the user, rather
|
|
than forcing him to use a preset, fixed layout and trying to
|
|
shoehorn all windows and applications into it.
|
|
.PP
|
|
wmii
|
|
supports classic and tiled window management with
|
|
extended keyboard and mouse control. The classic window management
|
|
arranges windows in a floating layer in which windows can be moved
|
|
and resized freely. The tiled window management is based on columns
|
|
which split up the screen horizontally. Each column handles
|
|
arbitrary windows and arranges them vertically in a nonoverlapping
|
|
way. They can then be moved and resized between and within columns
|
|
at will.
|
|
.PP
|
|
wmii
|
|
provides a virtual filesystem which represents the
|
|
internal state similar to the procfs of Unix operating systems.
|
|
Modifying this virtual filesystem results in changing the state of
|
|
the window manager. The virtual filesystem service can be accessed
|
|
through 9Pcapable client programs, like \fIwmiir\fP(1)\&.
|
|
This
|
|
allows simple and powerful remote control of the core window
|
|
manager.
|
|
.PP
|
|
wmii
|
|
basically consists of clients, columns, views, and the
|
|
bar, which are described in detail in the \fBTerminology\fP
|
|
section.
|
|
.PP
|
|
.SS TERMINOLOGY
|
|
.PP
|
|
.TP
|
|
Display
|
|
A running X server instance consisting of input devices
|
|
and screens.
|
|
.TP
|
|
Screen
|
|
A physical or virtual (Xinerama or \fIXnest\fP(1))
|
|
screen
|
|
of an X display. A screen displays a bar window and a view at a time.
|
|
.TP
|
|
Window
|
|
A (rectangular) drawable X object which is displayed on a
|
|
screen, usually an application window.
|
|
.TP
|
|
Client
|
|
An application window surrounded by a frame window containing
|
|
a border and a titlebar.
|
|
.TP
|
|
Floating layer
|
|
A screen layer of wmii
|
|
on top of all other
|
|
layers, where clients are arranged in a classic (floating) way.
|
|
They can be resized or moved freely.
|
|
.TP
|
|
Managed layer
|
|
A screen layer of wmii
|
|
behind the floating layer,
|
|
where clients are arranged in a nonoverlapping (managed) way. Here,
|
|
the window manager dynamically assigns each client a size and position.
|
|
The managed layer consists of columns.
|
|
.TP
|
|
Tag
|
|
Alphanumeric strings which can be assigned to a client. This provides
|
|
a mechanism to group clients with similar properties. Clients can have one
|
|
tag, e.g. \fIwork\fP,
|
|
or several tags, e.g. \fIwork+mail\fP\&.
|
|
.PP
|
|
Tags are separated with the \fI+\fP
|
|
character.
|
|
.TP
|
|
View
|
|
A set of clients containing a specific tag, quite similiar to a
|
|
workspace in other window managers. It consists of the floating and
|
|
managed layers.
|
|
.TP
|
|
Column
|
|
A column is a screen area which arranges clients vertically in a
|
|
non\-overlapping way. Columns provide three different modes, which
|
|
arrange clients with equal size, stacked, or maximized respectively.
|
|
Clients can be moved and resized between and within columns freely.
|
|
.TP
|
|
Bar
|
|
The bar at the bottom of the screen displays a label for each view and
|
|
allows the creation of arbitrary userdefined labels.
|
|
.TP
|
|
Event
|
|
An event is a message which can be read from a special file in the
|
|
filesystem of wmii,
|
|
such as a mouse button press, a key press, or
|
|
a message written by a different 9P\-client.
|
|
.PP
|
|
.SS BASIC WINDOW MANAGEMENT
|
|
.PP
|
|
Running a raw wmii
|
|
process without a \fIwmiirc\fP(1)
|
|
script
|
|
provides basic window management capabilities already. However, to
|
|
use it effectively, remote control through its filesystem interface
|
|
is necessary. By default it is only usable with the mouse in
|
|
conjunction with the \fIMod1 (Alt)\fP
|
|
modifier key. Other
|
|
interactions, such as customizing the style, killing or retagging
|
|
clients, and grabbing keys, cannot be achieved without accessing the
|
|
filesystem.
|
|
.PP
|
|
The filesystem can be accessed by connecting to the \fIaddress\fP
|
|
of wmii
|
|
with any 9P\-capable client, such as \fIwmiir\fP(1)
|
|
.PP
|
|
.SS ACTIONS
|
|
.PP
|
|
An action is a shell script in the default setup, but it can
|
|
actually be any executable file. It is executed usually by
|
|
selecting it from the actions menu. You can customize an action by
|
|
copying it from the global action directory
|
|
CONFPREFIX/wmii\-3.5
|
|
to $HOME/.wmii\-3.5
|
|
and then
|
|
editing the copy to fit your needs. Of course you can also create
|
|
your own actions there; make sure that they are executable.
|
|
.PP
|
|
Here is a list of the default actions:
|
|
.PP
|
|
.TS
|
|
tab(&) expand;
|
|
l lS.
|
|
T{
|
|
quit
|
|
T}&T{
|
|
leave the window manager nicely
|
|
T}
|
|
T{
|
|
status
|
|
T}&T{
|
|
periodically print date and load average to the bar
|
|
T}
|
|
T{
|
|
welcome
|
|
T}&T{
|
|
display a welcome message that contains the wmii tutorial
|
|
T}
|
|
T{
|
|
wmiirc
|
|
T}&T{
|
|
configure wmii
|
|
T}
|
|
.TE
|
|
.PP
|
|
.SS DEFAULT KEY BINDINGS
|
|
.SS Moving Around
|
|
.PP
|
|
.TS
|
|
tab(&) expand;
|
|
l lS.
|
|
T{
|
|
\fBKey\fP
|
|
T}&T{
|
|
\fBAction\fP
|
|
T}
|
|
T{
|
|
Mod\-h
|
|
T}&T{
|
|
Move to a window to the \fIleft\fP
|
|
of the one currently
|
|
focused
|
|
T}
|
|
T{
|
|
Mod\-l
|
|
T}&T{
|
|
Move to a window to the \fIright\fP
|
|
of the one currently
|
|
focused
|
|
T}
|
|
T{
|
|
Mod\-j
|
|
T}&T{
|
|
Move to the window \fIbelow\fP
|
|
the one currently focused
|
|
T}
|
|
T{
|
|
Mod\-k
|
|
T}&T{
|
|
Move to a window \fIabove\fP
|
|
the one currently focused
|
|
T}
|
|
T{
|
|
Mod\-space
|
|
T}&T{
|
|
Toggle between the managed and floating layers
|
|
T}
|
|
T{
|
|
Mod\-t \fItag\fP
|
|
T}&T{
|
|
Move to the view of the given \fItag\fP
|
|
T}
|
|
T{
|
|
Mod\-\fI[0\-9]\fP
|
|
T}&T{
|
|
Move to the view with the given number
|
|
T}
|
|
.TE
|
|
.PP
|
|
.SS Moving Things Around
|
|
.PP
|
|
.TS
|
|
tab(&) expand;
|
|
l lS.
|
|
T{
|
|
\fBKey\fP
|
|
T}&T{
|
|
\fBAction\fP
|
|
T}
|
|
T{
|
|
Mod\-Shift\-h
|
|
T}&T{
|
|
Move the current window \fIwindow\fP
|
|
to a
|
|
column on the \fIleft\fP
|
|
T}
|
|
T{
|
|
Mod\-Shift\-l
|
|
T}&T{
|
|
Move the current window to a column
|
|
on the \fIright\fP
|
|
T}
|
|
T{
|
|
Mod\-Shift\-j
|
|
T}&T{
|
|
Move the current window below the window
|
|
beneath it.
|
|
T}
|
|
T{
|
|
Mod\-Shift\-k
|
|
T}&T{
|
|
Move the current window above the window
|
|
above it.
|
|
T}
|
|
T{
|
|
Mod\-Shift\-space
|
|
T}&T{
|
|
Toggle the current window between the
|
|
managed and floating layer
|
|
T}
|
|
T{
|
|
Mod\-Shift\-t \fItag\fP
|
|
T}&T{
|
|
Move the current window to the
|
|
view of the given \fItag\fP
|
|
T}
|
|
T{
|
|
Mod\-Shift\-\fI[0\-9]\fP
|
|
T}&T{
|
|
Move to the current window to the
|
|
view with the given number
|
|
T}
|
|
.TE
|
|
.PP
|
|
.SS Miscellaneous
|
|
.PP
|
|
.TS
|
|
tab(&) expand;
|
|
l lS.
|
|
T{
|
|
\fBKey\fP
|
|
T}&T{
|
|
\fBAction\fP
|
|
T}
|
|
T{
|
|
Mod\-m
|
|
T}&T{
|
|
Switch the current column to \fImax mode\fP
|
|
T}
|
|
T{
|
|
Mod\-s
|
|
T}&T{
|
|
Switch the current column to \fIstack mode\fP
|
|
T}
|
|
T{
|
|
Mod\-d
|
|
T}&T{
|
|
Switch the current column to \fIdefault mode\fP
|
|
T}
|
|
T{
|
|
Mod\-Shift\-c
|
|
T}&T{
|
|
Kill
|
|
the selected client
|
|
T}
|
|
T{
|
|
Mod\-p \fIprogram\fP
|
|
T}&T{
|
|
Execute
|
|
\fIprogram\fP
|
|
T}
|
|
T{
|
|
Mod\-a \fIaction\fP
|
|
T}&T{
|
|
Execute
|
|
the named \fIaction\fP
|
|
T}
|
|
T{
|
|
Mod\-Enter
|
|
T}&T{
|
|
Execute
|
|
an xterm
|
|
T}
|
|
.TE
|
|
.PP
|
|
.SH CONFIGURATION
|
|
.PP
|
|
If you feel the need to change the default configuration, then
|
|
customize (as described above) the wmiirc
|
|
action. This
|
|
action is executed at the end of the wmii
|
|
script and does all
|
|
the work of setting up the window manager, the key bindings, the bar
|
|
labels, etc.
|
|
.PP
|
|
.SH FILESYSTEM
|
|
.PP
|
|
Most aspects of wmii
|
|
are controlled via the filesystem.
|
|
It is usually accessed via the \fIwmiir\fP(1)
|
|
command, but it
|
|
can be accessed by any 9P
|
|
client, including plan9port\&'s
|
|
\fI9P\fP(1),
|
|
and can be mounted natively on Linux via v9fs[1],
|
|
and on Inferno (which man run on top of Linux).
|
|
.PP
|
|
The filesystem is, as are many other 9P filesystems, entirely
|
|
synthetic. The files exist only in memory, and are not written
|
|
to disk. They are generally initiated on wmii startup via a
|
|
script such as rc.wmii or wmiirc. Several files read commands,
|
|
others simply act as if they were ordinary files (their contents
|
|
are updated and returned exactly as written), though writing
|
|
them has side\-effects (such as changing key bindings). A
|
|
description of the filesystem layout and control commands
|
|
follows.
|
|
.PP
|
|
.SS Hierarchy
|
|
.TP
|
|
/
|
|
Global control files
|
|
.TP
|
|
/client/\fI*\fP/
|
|
Client control files
|
|
.TP
|
|
/tag/\fI*\fP/
|
|
View control files
|
|
.TP
|
|
/lbar/, /rbar/
|
|
Files representing the contents of the
|
|
bottom bar
|
|
.PP
|
|
.SS The / Hierarchy
|
|
.TP
|
|
colrules
|
|
The \fIcolrules\fP
|
|
file contains a list of
|
|
rules which affect the width of newly created columns.
|
|
Rules have the form:
|
|
.br
|
|
\fB \fP
|
|
.br
|
|
\fB \fP\fB \fP/\fIregex\fP/
|
|
\-> \fIwidth\fP[\fI+width...\fP]
|
|
.br
|
|
\fB \fP
|
|
.br
|
|
When a new column, \fIn\fP,
|
|
is created on a view whose
|
|
name matches \fIregex\fP,
|
|
the \fIn\fPth
|
|
given
|
|
\fIwidth\fP
|
|
percentage of the screen is given to it. If
|
|
there is no \fIn\fPth
|
|
width, 1/\fIncol\fPth
|
|
of the
|
|
screen is given to it.
|
|
.TP
|
|
tagrules
|
|
The \fItagrules\fP
|
|
file contains a list of
|
|
rules similar to the colrules. These rules specify
|
|
the tags a client is to be given when it is created.
|
|
Rules are specified:
|
|
.br
|
|
\fB \fP
|
|
.br
|
|
\fB \fP\fB \fP/\fIregex\fP/
|
|
\-> \fItag\fP[\fI+tag...\fP]
|
|
.br
|
|
\fB \fP
|
|
.br
|
|
When a client\&'s \fIname\fP:\fIclass\fP:\fItitle\fP
|
|
matches \fIregex\fP,
|
|
it is given the tagstring
|
|
\fItag\fP\&.
|
|
There are two special tags. \fI!\fP,
|
|
which
|
|
will be replaced with \fIsel\fP
|
|
in the future,
|
|
represents the current tag. \fI^\fP
|
|
represents the
|
|
floating layer.
|
|
.TP
|
|
keys
|
|
The \fIkeys\fP
|
|
file contains a list of keys which
|
|
wmii
|
|
will grab. Whenever these key combinations
|
|
are pressed, the string which represents them are
|
|
written to /event
|
|
as: Key \fIstring\fP
|
|
.TP
|
|
event
|
|
The \fIevent\fP
|
|
file never returns EOF while
|
|
wmii
|
|
is running. It stays open and reports events
|
|
as they occur. Included among them are:
|
|
.RS
|
|
.TP
|
|
\fINot\fPUrgent \fIclient\fP \fIManager|Client\fP
|
|
\fIclient\fP\&'s
|
|
urgent hint has been set or
|
|
unset. The second arg is \fIClient\fP
|
|
if it\&'s
|
|
been set by the client, and \fIManager\fP
|
|
if
|
|
it\&'s been set by wmii
|
|
via a control
|
|
message.
|
|
.TP
|
|
\fINot\fPUrgentTag \fItag\fP \fIManager|Client\fP
|
|
A client on \fItag\fP
|
|
has had its urgent hint
|
|
set, or the last urgent client has had its
|
|
urgent hint unset.
|
|
.TP
|
|
ClientClick|ClientMouseDown \fIclient\fP \fIbutton\fP
|
|
A client\&'s titlebar has either been clicked or
|
|
has a button pressed over it.
|
|
.TP
|
|
\fILeft|Right\fPBar\fIClick|MouseDown\fP \fIbutton\fP \fIbar\fP
|
|
A left or right bar has been clicked or has a
|
|
button pressed over it.
|
|
.TP
|
|
\&.\&.\&.
|
|
To be continued...
|
|
.RE
|
|
.RS
|
|
.PP
|
|
.RE
|
|
.TP
|
|
ctl
|
|
The \fIctl\fP
|
|
file takes a number of messages to
|
|
change global settings such as color and font, which can
|
|
be viewed by reading it. It also takes the following
|
|
commands:
|
|
.RS
|
|
.TP
|
|
quit
|
|
Quit wmii
|
|
.TP
|
|
exec \fIprog\fP
|
|
Replace wmii
|
|
with
|
|
\fIprog\fP
|
|
.RE
|
|
.RS
|
|
.PP
|
|
.RE
|
|
.PP
|
|
.SS The /client/ Hierarchy
|
|
.PP
|
|
Each directory under /client/
|
|
represents an X11 client.
|
|
Each directory is named for the X window id of the window the
|
|
client represents, in the form that most X utilities recognize.
|
|
The one exception is the special sel
|
|
directory, which
|
|
represents the currently selected client.
|
|
.PP
|
|
.RE
|
|
.TP
|
|
ctl
|
|
When read, the ctl
|
|
file returns the X window id
|
|
of the client. The following commands may be written to
|
|
it:
|
|
.RS
|
|
.TP
|
|
kill
|
|
Close the client\&'s window. This command will
|
|
likely kill the X client in the future
|
|
(including its other windows), while the close
|
|
command will replace it.
|
|
.TP
|
|
\fINot\fPUrgent
|
|
Set or unset the client\&'s urgent
|
|
hint.
|
|
.TP
|
|
\fINot\fPFullscreen
|
|
.RS
|
|
.PP
|
|
.RE
|
|
.RE
|
|
.PP
|
|
.RE
|
|
.TP
|
|
label
|
|
Set or read a client\&'s label (title).
|
|
.TP
|
|
props
|
|
Returns a clients class and label as:
|
|
\fIname\fP:\fIclass\fP:\fIlabel\fP
|
|
.TP
|
|
tags
|
|
Set or read a client\&'s tags. Tags are seperated by
|
|
\fI+\fP
|
|
or {\-}. Tags begining with \fI+\fP
|
|
are added,
|
|
while those begining with \fI\-\fP
|
|
are removed. If the
|
|
tag string written begins with \fI+\fP
|
|
or \fI\-\fP,
|
|
the
|
|
written tags are added to or removed from the client\&'s
|
|
set, otherwise, the set is overwritten.
|
|
.PP
|
|
.SS The /tag/ Hierarchy
|
|
.PP
|
|
Each directory under /tag/
|
|
represents a view, containing
|
|
all of the clients with the given tag applied. The special
|
|
sel
|
|
directory represents the currently selected tag.
|
|
.PP
|
|
.TP
|
|
ctl
|
|
The ctl
|
|
file can be read to retrieve the name
|
|
of the tag the directory represents, or written with the
|
|
following commands:
|
|
.RS
|
|
.TP
|
|
select
|
|
Select a client:
|
|
.br
|
|
\fB \fP\fB \fPselect \fIleft|right|up|down\fP
|
|
.br
|
|
\fB \fP\fB \fPselect \fIrow number|sel\fP
|
|
[\fIframe number\fP]
|
|
.br
|
|
\fB \fP\fB \fPselect client \fIclient\fP
|
|
.TP
|
|
send
|
|
Send a client somewhere:
|
|
.RS
|
|
.TP
|
|
send \fIclient|sel\fP \fIup|down|left|right\fP
|
|
.TP
|
|
send \fIclient|sel\fP \fIarea\fP
|
|
Send
|
|
\fIclient\fP
|
|
to the nth \fIarea\fP
|
|
.TP
|
|
send \fIclient|sel\fP toggle
|
|
Toggle
|
|
\fIclient\fP
|
|
between the floating and
|
|
managed layer.
|
|
.RE
|
|
.RS
|
|
.PP
|
|
.RE
|
|
.TP
|
|
swap
|
|
Swap a client with another. Same syntax as
|
|
send.
|
|
.RE
|
|
.RS
|
|
.PP
|
|
.RE
|
|
.TP
|
|
index
|
|
Read for a description of the contents of a tag.
|
|
.PP
|
|
.SS The /rbar/, /lbar/ Hierarchy
|
|
.PP
|
|
The files under /rbar/
|
|
and /lbar/
|
|
represent the
|
|
items of the bar at the bottom of the screen. Files under
|
|
/lbar/
|
|
appear on the left side of the bar, while those
|
|
under /rbar/
|
|
appear on the right, with the leftmost item
|
|
occupying all extra available space. The items are sorted
|
|
lexicographically.
|
|
.PP
|
|
The files may be read to obtain the colors and text of the bars.
|
|
The colors are at the begining of the string, represented as a
|
|
tuple of 3 hex color codes for the foreground, background, and
|
|
border, respectively. When writing the bar files, the colors may
|
|
be omitted if the text would not otherwise appear to contain
|
|
them.
|
|
.PP
|
|
.SH FILES
|
|
.PP
|
|
.TP
|
|
/tmp/ns.USER.{DISPLAY%\&.0}/wmii
|
|
The wmii socket file which provides a 9P service.
|
|
.TP
|
|
CONFPREFIX/wmii\-3.5
|
|
Global action directory.
|
|
.TP
|
|
$HOME/.wmii\-3.5
|
|
User\-specific action directory. Actions are first searched here.
|
|
.PP
|
|
.SH ENVIRONMENT
|
|
.PP
|
|
.TP
|
|
HOME, DISPLAY
|
|
See the section \fBFILES\fP
|
|
above.
|
|
.PP
|
|
The following variables are set and exported within wmii
|
|
and
|
|
thus can be used in actions:
|
|
.PP
|
|
.TP
|
|
WMII_ADDRESS
|
|
Socket file of Used by \fIwmiir\fP(1)\&.
|
|
.PP
|
|
.SH SEE ALSO
|
|
\fIdmenu\fP(1),
|
|
\fIwmiir\fP(1)
|
|
.PP
|
|
[1] http://www.suckless.org/wiki/wmii/tips/9p_tips
|
|
.PP
|
|
.\" NOTE: This file is generated, DO NOT EDIT.
|