changeset: 2410:f366155f13ba
tag: tip
user: Kris Maglione <jg_AT_suckless.org>
date: Tue Dec 09 18:06:10 2008 -0500
files: .hgignore cmd/wmii/frame.c man/Makefile man/wmii.1 man/wmii.man1 man/wmii.tex man/wmiiloop.1 man/wmiiloop.tex mk/hdr.mk mk/man.mk
description:
Move from modified, quirky latex2man to txt2tags.
diff -r 52048afb3666 -r f366155f13ba .hgignore
--- a/.hgignore Mon Dec 01 07:43:20 2008 -0500
+++ b/.hgignore Tue Dec 09 18:06:10 2008 -0500
@@ -1,6 +1,6 @@
syntax: regexp
(^|/)\.((.*\.)?swp|depend|hgignore)$
(^|/)(tags|mkfile)$
-\.([oOa]|man1|o_pic|so)$
+\.([oOa]|o_pic|so)$
^config\.local\.mk$
diff -r 52048afb3666 -r f366155f13ba cmd/wmii/frame.c
--- a/cmd/wmii/frame.c Mon Dec 01 07:43:20 2008 -0500
+++ b/cmd/wmii/frame.c Tue Dec 09 18:06:10 2008 -0500
@@ -653,6 +653,8 @@
SET(best);
sbest = nil;
for(sp=screens; (s = *sp); sp++) {
+ if (!screen->showing)
+ continue;
isect = rect_intersection(r, insetrect(s->r, inset));
if(Dx(isect) >= 0 && Dy(isect) >= 0)
return r;
diff -r 52048afb3666 -r f366155f13ba man/Makefile
--- a/man/Makefile Mon Dec 01 07:43:20 2008 -0500
+++ b/man/Makefile Tue Dec 09 18:06:10 2008 -0500
@@ -3,8 +3,10 @@
include ${ROOT}/mk/wmii.mk
TARG = wmii.1 \
- wmiiloop.1 \
wmiir.1
+
+wmiir.1:
+ true
$(TARG): Makefile $(ROOT)/mk/wmii.mk
diff -r 52048afb3666 -r f366155f13ba man/wmii.1
--- a/man/wmii.1 Mon Dec 01 07:43:20 2008 -0500
+++ b/man/wmii.1 Tue Dec 09 18:06:10 2008 -0500
@@ -1,733 +1,515 @@
-'\" t
-.\" Manual page created with latex2man on Wed Oct 15 16:08:29 EDT 2008
-.\" NOTE: This file is generated, DO NOT EDIT.
-.de Vb
-.ft CW
-.nf
-..
-.de Ve
-.ft R
+.TH "WMII" 1 "Dec, 2008" ""
-.fi
-..
-.TH "WMII" "1" " Wed Dec 31 19:00:00 EDT 1969
-" "" ""
.SH NAME
-wmii\-VERSION
-.PP
+.P
+wmii \- Window Manager Improved Improved
+
.SH SYNOPSIS
-wmii
-[\fB\-a\fP\fI<address>\fP]
-[\fB\-c\fP\fI<wmiirc>\fP]
-.br
-wmii
-\fB\-v\fP
-.PP
+.P
+wmii \fI[\-a \fI<address>\fR]\fR \fI[\-c \fI<wmiirc>\fR]\fR
+.P
+wmii \-v
+
.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
+.SS Overview
+.P
+\fBwmii\fR 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.
+
+.P
+\fBwmii\fR 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 non\-overlapping way. They can then be moved and resized
+between and within columns at will.
+
+.P
+\fBwmii\fR 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 9P\-capable client programs, like
+wmiir(1). This allows simple and powerful remote control
+of the core window manager.
+
+.P
+\fBwmii\fR basically consists of clients, columns, views, and
+the bar, which are described in detail in the
+\fBTerminology\fR section.
+
+.SS Terminology
.TP
Display
-A running X server instance consisting of input
-devices and screens.
+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.
+A physical or virtual (Xinerama or Xnest(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.
+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.
+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.
+A screen layer of \fBwmii\fR 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.
+A screen layer of \fBwmii\fR behind the
+floating layer, where clients are arranged in a
+non\-overlapping (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\&.
-Tags are separated with the \fI+\fP
-character.
+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\fR, or several tags, e.g. \fIwork+mail\fR.
+Tags are separated with the \fI+\fR character.
.TP
View
-A set of clients containing a specific tag, quite
-similar to a workspace in other window managers. It
-consists of the floating and managed layers.
+A set of clients containing a specific tag, quite
+similar 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.
+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.
+The bar at the bottom of the screen displays a label
+for each view and allows the creation of arbitrary
+user\-defined 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
+An event is a message which can be read from a
+special file in the filesystem of \fBwmii\fR, such as a
+mouse button press, a key press, or a message written by
+a different 9P\-client.
+
+
+.SS Basic window management
+.P
+Running a raw \fBwmii\fR process without a wmiirc(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)\fR
+modifier key. Other interactions, such as customizing the style,
+killing or retagging clients, and grabbing keys, cannot be
+achieved without accessing the filesystem.
+
+.P
+The filesystem can be accessed by connecting to the
+\fIaddress\fR of \fBwmii\fR with any 9P\-capable client, such
+as wmiir(1)
+
+.SS Actions
+.P
+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
+\&'/home/kris/wmiiinst/etc/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.
+
+.P
+Here is a list of the default actions:
+
.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}
+tab(^); ll.
+ quit^leave the window manager nicely
+ status^periodically print date and load average to the bar
+ welcome^display a welcome message that contains the wmii tutorial
+ wmiirc^configure wmii
.TE
-.PP
-.SS DEFAULT KEY BINDINGS
+
+.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}
+tab(^); ll.
+ \fBKey\fR^\fBAction\fR
+ Mod\-h^Move to a window to the \fIleft\fR of the one currently focused
+ Mod\-l^Move to a window to the \fIright\fR of the one currently focused
+ Mod\-j^Move to the window \fIbelow\fR the one currently focused
+ Mod\-k^Move to a window \fIabove\fR the one currently focused
+ Mod\-space^Toggle between the managed and floating layers
+ Mod\-t \fI<tag>\fR^Move to the view of the given \fI<tag>\fR
+ Mod\-\fI\fI[0\-9]\fR\fR^Move to the view with the given number
.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}
+tab(^); ll.
+ \fBKey\fR^\fBAction\fR
+ Mod\-Shift\-h^Move the current window \fIwindow\fR to a column on the \fIleft\fR
+ Mod\-Shift\-l^Move the current window to a column on the \fIright\fR
+ Mod\-Shift\-j^Move the current window below the window beneath it.
+ Mod\-Shift\-k^Move the current window above the window above it.
+ Mod\-Shift\-space^Toggle the current window between the managed and floating layer
+ Mod\-Shift\-t \fI<tag>\fR^Move the current window to the view of the given \fI<tag>\fR
+ Mod\-Shift\-\fI\fI[0\-9]\fR\fR^Move to the current window to the view with the given number
.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}
+tab(^); ll.
+ \fBKey\fR^\fBAction\fR
+ Mod\-m^Switch the current column to \fImax mode\fR
+ Mod\-s^Switch the current column to \fIstack mode\fR
+ Mod\-d^Switch the current column to \fIdefault mode\fR
+ Mod\-Shift\-c^\fBKill\fR the selected client
+ Mod\-p \fI<program>\fR^\fBExecute\fR \fI<program>\fR
+ Mod\-a \fI<action>\fR^\fBExecute\fR the named <action
+ Mod\-Enter^\fBExecute\fR an \fBxterm\fR
.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
+
+.SH Configuration
+.P
+If you feel the need to change the default configuration, then
+customize (as described above) the \fBwmiirc\fR action. This
+action is executed at the end of the \fBwmii\fR script and does
+all the work of setting up the window manager, the key bindings,
+the bar labels, etc.
+
+.SS Filesystem
+.P
+Most aspects of \fBwmii\fR are controlled via the filesystem.
+It is usually accessed via the wmiir(1) command, but it
+can be accessed by any 9P, including plan9port's
+9P\fI[1]\fR, and can be mounted natively on Linux via v9fs\fI[1]\fR,
+and on Inferno (which man run on top of Linux).
+
+.P
+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.
+
.SS Hierarchy
.TP
/
-Global control files
+Global control files
.TP
-/client/\fI*\fP/
-Client control files
+/client/\fI*\fR/
+Client control files
.TP
-/tag/\fI*\fP/
-View control files
+/tag/\fI*\fR/
+View control files
.TP
/lbar/, /rbar/
-Files representing the contents of the
-bottom bar
-.PP
+Files representing the contents of the bottom bar
+
+
.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.
+The \fIcolrules\fR file contains a list of
+rules which affect the width of newly created columns.
+Rules have the form:
+
+.nf
+ /\fI<regex>\fR/ -> \fI<width>\fR\fI[+\fI<width>\fR]\fR*
+.fi
+
+
+When a new column, \fIn\fR, is created on a view whose
+name matches \fI<regex>\fR, the \fIn\fRth given
+\fI<width>\fR percentage of the screen is given to it. If
+there is no \fIn\fRth width, 1/\fIncol\fRth 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 is deprecated, and identical
-to \fIsel\fP,
-represents the current tag. \fI~\fP
-represents the floating layer.
+The \fItagrules\fR 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:
+
+.nf
+ /\fI<regex>\fR/ -> \fI<tag>\fR\fI[+\fI<tag>\fR]\fR*
+.fi
+
+
+When a client's \fI<name>\fR:\fI<class>\fR:\fI<title>\fR matches
+\fI<regex>\fR, it is given the tagstring \fI<tag>\fR. There are
+two special tags. \fB!\fR, which is deprecated, and identical
+to \fIsel\fR, represents the current tag. \fB~\fR
+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
+The \fIkeys\fR file contains a list of keys which
+\fBwmii\fR will grab. Whenever these key combinations
+are pressed, the string which represents them are
+written to '/event' as: Key \fI<string>\fR
.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
+The \fIevent\fR file never returns EOF while
+\fBwmii\fR is running. It stays open and reports events
+as they occur. Included among them are:
+.RS 8
.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.
+\fI[Not]\fRUrgent \fI<client>\fR \fI[Manager|Client]\fR
+\fI<client>\fR's urgent hint has been set or
+unset. The second arg is \fI[Client]\fR if it's
+been set by the client, and \fI[Manager]\fR if
+it's been set by \fBwmii\fR 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.
+\fI[Not]\fRUrgentTag \fI<tag>\fR \fI[Manager|Client]\fR
+A client on \fI<tag>\fR 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.
+Client\fI<Click|MouseDown>\fR \fI<client>\fR \fI<button>\fR
+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.
+\fI[Left|Right]\fRBar\fI[Click|MouseDown]\fR \fI<button>\fR \fI<bar>\fR
+A left or right bar has been clicked or has a
+button pressed over it.
.TP
-\&.\&.\&.
-To be continued...
-.RE
-.RS
-.PP
-.RE
+...
+To be continued...
+.RS -8
+
.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
+The \fIctl\fR 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 8
.TP
quit
-Quit wmii
+Quit \fBwmii\fR
.TP
-exec \fIprog\fP
-Replace wmii
-with
-\fIprog\fP
-.RE
-.RS
-.PP
-.RE
-.PP
+exec \fI<prog>\fR
+Replace \fBwmii\fR with \fI<prog>\fR
+
+
.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
+.P
+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.
+
.TP
ctl
-When read, the ctl
-file returns the X window id
-of the client. The following commands may be written to
-it:
-.RS
+When read, the 'ctl' file returns the X window id
+of the client. The following commands may be written to
+it:
+.RS 8
.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.
+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.
+\fI[Not]\fRUrgent
+Set or unset the client's urgent hint.
.TP
-\fINot\fPFullscreen
-.RS
-.PP
-.RE
-.RE
-.PP
-.RE
+\fI[Not]\fRFullscreen
+.RS -8
+
.TP
label
-Set or read a client\&'s label (title).
+Set or read a client's label (title).
.TP
props
-Returns a clients class and label as:
-\fIname\fP:\fIclass\fP:\fIlabel\fP
+Returns a clients class and label as:
+\fI<name>\fR:\fI<class>\fR:\fI<label>\fR
.TP
tags
-Set or read a client\&'s tags. Tags are separated by
-\fI+\fP
-or \fI\-\fP\&.
-Tags beginning with \fI+\fP
-are
-added, while those beginning 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
+Set or read a client's tags. Tags are separated by
+\fB+\fR or \fB\-\fR. Tags beginning with \fB+\fR are
+added, while those beginning with \fB\-\fR are removed.
+If the tag string written begins with \fB+\fR or
+\fB\-\fR, the written tags are added to or removed from
+the client's set, otherwise, the set is overwritten.
+
+
.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
+.P
+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.
+
.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
+The 'ctl' file can be read to retrieve the name
+of the tag the directory represents, or written with the
+following commands:
+.RS 8
.TP
select
-Select a client:
-.br
-\fB \fP\fB \fPselect \fIdirection\fP
-.br
-\fB \fP\fB \fPselect \fIframe\fP
-.br
+Select a client:
+select \fI[left|right|up|down]\fR
+.P
+select \fI[\fI<row number>\fR|sel]\fR \fI[\fI<frame number>\fR]\fR
+.P
+select client \fI<client>\fR
.TP
send
-Send a client somewhere:
-.RS
+Send a client somewhere:
+.RS 8
.TP
-send \fIclient|sel\fP \fIup|down|left|right\fP
+send \fI[\fI<client>\fR|sel]\fR \fI[up|down|left|right]\fR
.TP
-send \fIclient|sel\fP \fIarea\fP
-Send
-\fIclient\fP
-to the nth \fIarea\fP
+send \fI[\fI<client>\fR|sel]\fR \fI<area>\fR
+Send \fI<client>\fR to the \fIn\fRth \fI<area>\fR
.TP
-send \fIclient|sel\fP toggle
-Toggle
-\fIclient\fP
-between the floating and
-managed layer.
-.RE
-.RS
-.PP
-.RE
+send \fI[\fI<client>\fR|sel]\fR toggle
+Toggle \fI<client>\fR between the floating and managed layer.
+.RS -8
.TP
swap
-Swap a client with another. Same syntax as
-send.
+Swap a client with another. Same syntax as send.
+
.TP
grow
-Grow or shrink a client.
-\fB \fP\fB \fPgrow \fI<frame>\fP
-\fI<direction>\fP
-\fI[amount]\fP
+Grow or shrink a client.
+
+.nf
+ grow \fI<frame>\fR \fI<direction>\fR \fI[\fI<amount>\fR]\fR
+.fi
+
.TP
nudge
-Nudge a client in a given direction.
-\fB \fP\fB \fPgrow \fI<frame>\fP
-\fI<direction>\fP
-\fI[amount]\fP
-.RE
-.RS
-.PP
-Where the arguments are defined as follows:
-.RS
-.RE
+Nudge a client in a given direction.
+
+.nf
+ grow \fI<frame>\fR \fI<direction>\fR \fI[\fI<amount>\fR]\fR
+.fi
+
+.RS -8
+Where the arguments are defined as follows:
+.RS 8
.TP
area
-Selects a column or the floating area.
-.br
-\fB \fP\fB \fParea ::= "~"\fB \fP| <number> | "sel"
-.br
-Where represents the floating area and <number>
-represents a column index, starting at one.
+Selects a column or the floating area.
+
+.nf
+ area ::= "~" | \fI<number>\fR | "sel"
+.fi
+
+
+Where represents the floating area and \fI<number>\fR represents a column
+index, starting at one.
+
.TP
frame
-Selects a client window.
-.br
-\fB \fP\fB \fPframe ::= <area> <space> <index> | <area> "sel" | client <window\-id>
-.br
-Where <index> represents the nth frame of <area> or
-<window\-id> is the X11 window id of the given client.
+Selects a client window.
+
+.nf
+ frame ::= \fI<area>\fR \fI<space>\fR \fI<index>\fR | \fI<area>\fR "sel" | client \fI<window-id>\fR
+.fi
+
+
+Where \fI<index>\fR represents the nth frame of \fI<area>\fR or \fI<window\-id>\fR is
+the X11 window id of the given client.
+
.TP
amount
-The amount to grow or nudge something.
-.br
-\fB \fP\fB \fPamount ::= <number> "px"?
-.br
-If "px" is given, <number> is interperated as an exact
-pixel count. Otherwise, it\&'s interperated as a "reasonable"
-amount, which is usually either the height of a window\&'s title
-bar, or its sizing increment (as defined by X11) in a given
-direction.
-.RE
-.RS
-.PP
-.RE
+The amount to grow or nudge something.
+
+.nf
+ amount ::= \fI<number>\fR "px"?
+.fi
+
+
+If "px" is given, \fI<number>\fR is interperated as an exact pixel count.
+Otherwise, it's interperated as a "reasonable" amount, which is
+usually either the height of a window's title bar, or its sizing
+increment (as defined by X11) in a given direction.
+.RS -8
.TP
index
-Read for a description of the contents of a tag.
-.PP
+Read for a description of the contents of a tag.
+
+
.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 beginning 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
+.P
+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.
+
+.P
+The files may be read to obtain the colors and text of the bars.
+The colors are at the beginning 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.
+
.SH FILES
-.PP
.TP
-/tmp/ns.USER.{DISPLAY%\&.0}/wmii
-The wmii socket file
-which provides a 9P service.
+/tmp/ns.$USER.${DISPLAY%.0}/wmii
+The wmii socket file which provides a 9P service.
.TP
-CONFPREFIX/wmii\-3.5
-Global action directory.
+/home/kris/wmiiinst/etc/wmii\-3.5
+Global action directory.
.TP
$HOME/.wmii\-3.5
-User\-specific action directory. Actions
-are first searched here.
-.PP
+User\-specific action directory. Actions are first searched here.
+
+
.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
+See the section \fBFILES\fR above.
+
+.P
+The following variables are set and exported within \fBwmii\fR and
+thus can be used in actions:
+
.TP
WMII_ADDRESS
-Socket file of Used by \fIwmiir\fP(1)\&.
-.PP
+Socket file of Used by wmiir(1).
+
.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.
+.P
+dmenu(1), wmiir(1)
+
+.P
+\fI[1]\fR http://www.suckless.org/wiki/wmii/tips/9p_tips
+
+
+.\" man code generated by txt2tags 2.5 (http://txt2tags.sf.net)
+.\" cmdline: txt2tags -o- wmii.man1
+
diff -r 52048afb3666 -r f366155f13ba man/wmii.man1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/man/wmii.man1 Tue Dec 09 18:06:10 2008 -0500
@@ -0,0 +1,458 @@
+WMII
+
+Dec, 2008
+
+%!target: man
+%!encoding: UTF-8
+
+% Special formatting for certain constructs. They, unfortunately
+% have to be post-processed. The _italic_ hack is necessary for
+% italicising things like /_foo_/, which txt2tags will ignore.
+% The others need to work in ``` lines.
+%!postproc(man): (<.*?>) \\fI\1\\fR
+%!postproc(man): _(.*?)_ \\fI\1\\fR
+%!postproc(man): `(.*?)` \\fB\1\\fR
+%!postproc(man): (\[.*?\]) \\fI\1\\fR
+%!postproc(man): \+$ \n.P
+
+%!postproc(html): (<.*?>) (:arg \1:)
+%!postproc(html): _(.*?)_ (:emph \1:)
+%!postproc(html): `(.*?)` (:code \1:)
+%!postproc(html): \+$ <br/>
+
+%!postproc(html) \(:(\w+)\s*(.*):\) <span class="\1">\2</span>
+
+% Well, it seems that txt2tags isn't particularly well suited
+% to troff output. These two hacks make multi-level definition
+% lists possible.
+%!postproc(man): ^\s*>>$ .RS 8
+%!postproc(man): ^\s*<<$ .RS -8
+
+%!postproc(html): ^\s*>>$
+%!postproc(html): ^\s*<<$
+
+= NAME =
+
+wmii - Window Manager Improved Improved
+
+= SYNOPSIS =
+
+wmii [-a <address>] [-c <wmiirc>] +
+wmii -v
+
+= DESCRIPTION =
+
+== Overview ==
+
+`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.
+
+`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 non-overlapping way. They can then be moved and resized
+between and within columns at will.
+
+`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 9P-capable client programs, like
+wmiir(1). This allows simple and powerful remote control
+of the core window manager.
+
+`wmii` basically consists of clients, columns, views, and
+the bar, which are described in detail in the
+**Terminology** section.
+
+== Terminology ==
+
+: Display
+ A running X server instance consisting of input
+ devices and screens.
+: Screen
+ A physical or virtual (Xinerama or Xnest(1))
+ screen of an X display. A screen displays a bar window
+ and a view at a time.
+: Window
+ A (rectangular) drawable X object which is
+ displayed on a screen, usually an application window.
+: Client
+ An application window surrounded by a frame window
+ containing a border and a titlebar.
+
+: 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.
+: Managed layer
+ A screen layer of `wmii` behind the
+ floating layer, where clients are arranged in a
+ non-overlapping (managed) way. Here, the window
+ manager dynamically assigns each client a size and
+ position. The managed layer consists of columns.
+: 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.
+ _work_, or several tags, e.g. _work+mail_.
+ Tags are separated with the _+_ character.
+: View
+ A set of clients containing a specific tag, quite
+ similar to a workspace in other window managers. It
+ consists of the floating and managed layers.
+: 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.
+: Bar
+ The bar at the bottom of the screen displays a label
+ for each view and allows the creation of arbitrary
+ user-defined labels.
+: 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.
+:
+
+== Basic window management ==
+
+Running a raw `wmii` process without a wmiirc(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 //Mod1 (Alt)//
+modifier key. Other interactions, such as customizing the style,
+killing or retagging clients, and grabbing keys, cannot be
+achieved without accessing the filesystem.
+
+The filesystem can be accessed by connecting to the
+//address// of `wmii` with any 9P-capable client, such
+as wmiir(1)
+
+== Actions ==
+
+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.
+
+Here is a list of the default actions:
+
+| quit | leave the window manager nicely
+| status | periodically print date and load average to the bar
+| welcome | display a welcome message that contains the wmii tutorial
+| wmiirc | configure wmii
+
+== Default Key Bindings ==
+
+=== Moving Around ===
+
+|| Key | Action
+| Mod-h | Move to a window to the _left_ of the one currently focused
+| Mod-l | Move to a window to the _right_ of the one currently focused
+| Mod-j | Move to the window _below_ the one currently focused
+| Mod-k | Move to a window _above_ the one currently focused
+| Mod-space | Toggle between the managed and floating layers
+| Mod-t <tag> | Move to the view of the given <tag>
+| Mod-//[0-9]// | Move to the view with the given number
+
+=== Moving Things Around ===
+
+|| Key | Action
+| Mod-Shift-h | Move the current window _window_ to a column on the _left_
+| Mod-Shift-l | Move the current window to a column on the _right_
+| Mod-Shift-j | Move the current window below the window beneath it.
+| Mod-Shift-k | Move the current window above the window above it.
+| Mod-Shift-space | Toggle the current window between the managed and floating layer
+| Mod-Shift-t <tag> | Move the current window to the view of the given <tag>
+| Mod-Shift-//[0-9]// | Move to the current window to the view with the given number
+
+=== Miscellaneous ===
+
+|| Key | Action
+| Mod-m | Switch the current column to _max mode_
+| Mod-s | Switch the current column to _stack mode_
+| Mod-d | Switch the current column to _default mode_
+| Mod-Shift-c | `Kill` the selected client
+| Mod-p <program> | `Execute` <program>
+| Mod-a <action> | `Execute` the named <action
+| Mod-Enter | `Execute` an `xterm`
+
+= Configuration =
+
+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.
+
+== Filesystem ==
+
+Most aspects of `wmii` are controlled via the filesystem.
+It is usually accessed via the wmiir(1) command, but it
+can be accessed by any ``9P``, including plan9port's
+9P[1], and can be mounted natively on Linux via v9fs[1],
+and on Inferno (which man run on top of Linux).
+
+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.
+
+== Hierarchy ==
+
+: /
+ Global control files
+: /client/_*_/
+ Client control files
+: /tag/_*_/
+ View control files
+: /lbar/, /rbar/
+ Files representing the contents of the bottom bar
+:
+
+== The / Hierarchy ==
+
+: colrules
+ The _colrules_ file contains a list of
+ rules which affect the width of newly created columns.
+ Rules have the form:
+
+``` /<regex>/ -> <width>[+<width>]*
+
+ When a new column, _n_, is created on a view whose
+ name matches <regex>, the _n_th given
+ <width> percentage of the screen is given to it. If
+ there is no _n_th width, 1/_ncol_th of the
+ screen is given to it.
+
+: tagrules
+ The //tagrules// 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:
+
+``` /<regex>/ -> <tag>[+<tag>]*
+
+ When a client's <name>:<class>:<title> matches
+ <regex>, it is given the tagstring <tag>. There are
+ two special tags. **!**, which is deprecated, and identical
+ to _sel_, represents the current tag. **~**
+ represents the floating layer.
+
+: keys
+ The _keys_ 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 <string>
+: event
+ The _event_ file never returns EOF while
+ `wmii` is running. It stays open and reports events
+ as they occur. Included among them are:
+ >>
+ : [Not]Urgent <client> [Manager|Client]
+ <client>'s urgent hint has been set or
+ unset. The second arg is [Client] if it's
+ been set by the client, and [Manager] if
+ it's been set by `wmii` via a control
+ message.
+ : [Not]UrgentTag <tag> [Manager|Client]
+ A client on <tag> has had its urgent hint
+ set, or the last urgent client has had its
+ urgent hint unset.
+ : Client<Click|MouseDown> <client> <button>
+ A client's titlebar has either been clicked or
+ has a button pressed over it.
+ : [Left|Right]Bar[Click|MouseDown] <button> <bar>
+ A left or right bar has been clicked or has a
+ button pressed over it.
+ : ...
+ To be continued...
+ :
+ <<
+
+: ctl
+ The _ctl_ 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:
+ >>
+ : quit
+ Quit `wmii`
+ : exec <prog>
+ Replace `wmii` with <prog>
+ :
+:
+
+== The /client/ Hierarchy ==
+
+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.
+
+: ctl
+ When read, the 'ctl' file returns the X window id
+ of the client. The following commands may be written to
+ it:
+ >>
+ : 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.
+ : [Not]Urgent
+ Set or unset the client's urgent hint.
+ : [Not]Fullscreen
+ <<
+
+: label
+ Set or read a client's label (title).
+: props
+ Returns a clients class and label as:
+ <name>:<class>:<label>
+: tags
+ Set or read a client's tags. Tags are separated by
+ **+** or **-**. Tags beginning with **+** are
+ added, while those beginning with **-** are removed.
+ If the tag string written begins with **+** or
+ **-**, the written tags are added to or removed from
+ the client's set, otherwise, the set is overwritten.
+:
+
+== The /tag/ Hierarchy ==
+
+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.
+
+: ctl
+ The 'ctl' file can be read to retrieve the name
+ of the tag the directory represents, or written with the
+ following commands:
+ >>
+ : select
+ Select a client:
+ select [left|right|up|down] +
+ select [<row number>|sel] [<frame number>] +
+ select client <client>
+ : send
+ Send a client somewhere:
+ >>
+ : send [<client>|sel] [up|down|left|right]
+ : send [<client>|sel] <area>
+ Send <client> to the _n_th <area>
+ : send [<client>|sel] toggle
+ Toggle <client> between the floating and managed layer.
+ <<
+ : swap
+ Swap a client with another. Same syntax as send.
+
+ : grow
+ Grow or shrink a client.
+
+``` grow <frame> <direction> [<amount>]
+ : nudge
+ Nudge a client in a given direction.
+
+``` grow <frame> <direction> [<amount>]
+ :
+ <<
+ Where the arguments are defined as follows:
+ >>
+ : area
+ Selects a column or the floating area.
+
+``` area ::= "~" | <number> | "sel"
+
+ Where represents the floating area and <number> represents a column
+ index, starting at one.
+
+ : frame
+ Selects a client window.
+
+``` frame ::= <area> <space> <index> | <area> "sel" | client <window-id>
+
+ Where <index> represents the nth frame of <area> or <window-id> is
+ the X11 window id of the given client.
+
+ : amount
+ The amount to grow or nudge something.
+
+``` amount ::= <number> "px"?
+
+ If "px" is given, <number> is interperated as an exact pixel count.
+ Otherwise, it's interperated as a "reasonable" amount, which is
+ usually either the height of a window's title bar, or its sizing
+ increment (as defined by X11) in a given direction.
+ <<
+: index
+ Read for a description of the contents of a tag.
+:
+
+
+== The /rbar/, /lbar/ Hierarchy ==
+
+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.
+
+The files may be read to obtain the colors and text of the bars.
+The colors are at the beginning 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.
+
+= FILES =
+
+: /tmp/ns.$USER.${DISPLAY%.0}/wmii
+ The wmii socket file which provides a 9P service.
+: CONFPREFIX/wmii-3.5
+ Global action directory.
+: $HOME/.wmii-3.5
+ User-specific action directory. Actions are first searched here.
+:
+
+= ENVIRONMENT =
+
+: HOME, DISPLAY
+ See the section **FILES** above.
+:
+The following variables are set and exported within `wmii` and
+thus can be used in actions:
+
+: WMII_ADDRESS
+ Socket file of Used by wmiir(1).
+:
+= SEE ALSO =
+dmenu(1), wmiir(1)
+
+[1] http://www.suckless.org/wiki/wmii/tips/9p_tips
+
diff -r 52048afb3666 -r f366155f13ba man/wmii.tex
--- a/man/wmii.tex Mon Dec 01 07:43:20 2008 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-\begin{Name}{1}{wmii}{Kris Maglione}{}{wmii - window manager improved, improved}
- \Prog{wmii}-VERSION
-\end{Name}
-
-\section{SYNOPSIS}
-\Prog{wmii} \oOptArg{-a}{<address>} \oOptArg{-c}{<wmiirc>} \\
-\Prog{wmii} \Opt{-v}
-
-\section{DESCRIPTION}
-
-\subsection{Overview}
-
-\Prog{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.
-
-\Prog{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 non\-overlapping way. They can then be moved and resized
-between and within columns at will.
-
-\Prog{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 9P\-capable client programs, like
-\Cmd{wmiir}{1}. This allows simple and powerful remote control
-of the core window manager.
-
-\Prog{wmii} basically consists of clients, columns, views, and
-the bar, which are described in detail in the
-\textbf{Terminology} section.
-
-\subsection{Terminology}
-
-\begin{description}
-\item[Display] A running X server instance consisting of input
- devices and screens.
-\item[Screen] A physical or virtual (Xinerama or \Cmd{Xnest}{1})
- screen of an X display. A screen displays a bar window
- and a view at a time.
-\item[Window] A (rectangular) drawable X object which is
- displayed on a screen, usually an application window.
-\item[Client] An application window surrounded by a frame window
- containing a border and a titlebar.
-\item[Floating layer] A screen layer of \Prog{wmii} on top of
- all other layers, where clients are arranged in a
- classic (floating) way. They can be resized or moved
- freely.
-\item[Managed layer] A screen layer of \Prog{wmii} behind the
- floating layer, where clients are arranged in a
- non\-overlapping (managed) way. Here, the window
- manager dynamically assigns each client a size and
- position. The managed layer consists of columns.
-\item[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.
- \emph{work}, or several tags, e.g. \emph{work+mail}.
- Tags are separated with the \emph{+} character.
-\item[View] A set of clients containing a specific tag, quite
- similar to a workspace in other window managers. It
- consists of the floating and managed layers.
-\item[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.
-\item[Bar] The bar at the bottom of the screen displays a label
- for each view and allows the creation of arbitrary
- user\-defined labels.
-\item[Event] An event is a message which can be read from a
- special file in the filesystem of \Prog{wmii}, such as a
- mouse button press, a key press, or a message written by
- a different 9P-client.
-\end{description}
-
-\subsection{Basic window management}
-
-Running a raw \Prog{wmii} process without a \Cmd{wmiirc}{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 \emph{Mod1 (Alt)}
-modifier key. Other interactions, such as customizing the style,
-killing or retagging clients, and grabbing keys, cannot be
-achieved without accessing the filesystem.
-
-The filesystem can be accessed by connecting to the
-\emph{address} of \Prog{wmii} with any 9P-capable client, such
-as \Cmd{wmiir}{1}
-
-\subsection{Actions}
-
-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
-\File{CONFPREFIX/wmii-3.5} to \File{\$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.
-
-Here is a list of the default actions:
-
-\begin{Table}[]{2}
-quit & leave the window manager nicely \\
-status & periodically print date and load average to the bar \\
-welcome & display a welcome message that contains the wmii tutorial \\
-wmiirc & configure wmii \\
-\end{Table}
-
-\subsection{Default Key Bindings}
-\subsubsection{Moving Around}
-\begin{Table}[]{2}
-\textbf{Key} & \textbf{Action} \\
-Mod-h & Move to a window to the \emph{left} of the one currently
- focused \\
-Mod-l & Move to a window to the \emph{right} of the one currently
- focused \\
-Mod-j & Move to the window \emph{below} the one currently focused \\
-Mod-k & Move to a window \emph{above} the one currently focused \\
-Mod-space & Toggle between the managed and floating layers \\
-Mod-t \emph{tag} & Move to the view of the given \emph{tag} \\
-Mod-\emph{[0-9]} & Move to the view with the given number \\
-\end{Table}
-
-\subsubsection{Moving Things Around}
-\begin{Table}[]{2}
-\textbf{Key} & \textbf{Action} \\
-Mod-Shift-h & Move the current window \emph{window} to a
- column on the \emph{left} \\
-Mod-Shift-l & Move the current window to a column
- on the \emph{right} \\
-Mod-Shift-j & Move the current window below the window
- beneath it. \\
-Mod-Shift-k & Move the current window above the window
- above it. \\
-Mod-Shift-space & Toggle the current window between the
- managed and floating layer \\
-Mod-Shift-t \emph{tag} & Move the current window to the
- view of the given \emph{tag} \\
-Mod-Shift-\emph{[0-9]} & Move to the current window to the
- view with the given number \\
-\end{Table}
-
-\subsubsection{Miscellaneous}
-\begin{Table}[]{2}
-\textbf{Key} & \textbf{Action} \\
-Mod-m & Switch the current column to \emph{max mode} \\
-Mod-s & Switch the current column to \emph{stack mode} \\
-Mod-d & Switch the current column to \emph{default mode} \\
-Mod-Shift-c & \Prog{Kill} the selected client \\
-Mod-p \emph{program} & \Prog{Execute} \emph{program} \\
-Mod-a \emph{action} & \Prog{Execute} the named \emph{action} \\
-Mod-Enter & \Prog{Execute} an \Prog{xterm} \\
-\end{Table}
-
-\section{Configuration}
-
-If you feel the need to change the default configuration, then
-customize (as described above) the \Prog{wmiirc} action. This
-action is executed at the end of the \Prog{wmii} script and does
-all the work of setting up the window manager, the key bindings,
-the bar labels, etc.
-
-\section{Filesystem}
-
-Most aspects of \Prog{wmii} are controlled via the filesystem.
-It is usually accessed via the \Cmd{wmiir}{1} command, but it
-can be accessed by any \texttt{9P} client, including plan9port's
-\Cmd{9P}{1}, and can be mounted natively on Linux via v9fs[1],
-and on Inferno (which man run on top of Linux).
-
-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.
-
-\subsubsection{Hierarchy}
-\begin{description}
-\item[/] Global control files
-\item[/client/\emph{*}/] Client control files
-\item[/tag/\emph{*}/] View control files
-\item[/lbar/, /rbar/] Files representing the contents of the
- bottom bar
-\end{description}
-
-\subsubsection{The / Hierarchy}
-\begin{description}
-\item[colrules] The \emph{colrules} file contains a list of
- rules which affect the width of newly created columns.
- Rules have the form: \\ \SP % Yuck! (kludge)
- \MANbr
- \SP\SP /\Arg{regex}/ -> \Arg{width}\oArg{+width...} \\ \SP
- \MANbr
- When a new column, \Arg{n}, is created on a view whose
- name matches \Arg{regex}, the \Arg{n}th given
- \Arg{width} percentage of the screen is given to it. If
- there is no \Arg{n}th width, 1/\emph{ncol}th of the
- screen is given to it.
-\item[tagrules] The \emph{tagrules} 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: \\ \SP
- \MANbr
- \SP\SP /\Arg{regex}/ -> \Arg{tag}\oArg{+tag...} \\ \SP
- \MANbr
- When a client's \Arg{name}:\Arg{class}:\Arg{title} matches
- \Arg{regex}, it is given the tagstring \Arg{tag}. There are
- two special tags. \emph{!}, which is deprecated, and identical
- to \emph{sel}, represents the current tag. \emph{\Tilde}
- represents the floating layer.
-\item[keys] The \emph{keys} file contains a list of keys which
- \Prog{wmii} will grab. Whenever these key combinations
- are pressed, the string which represents them are
- written to \File{/event} as: Key \Arg{string}
-\item[event] The \emph{event} file never returns EOF while
- \Prog{wmii} is running. It stays open and reports events
- as they occur. Included among them are:
- \begin{description}
- \item[\emph{Not}Urgent \Arg{client} \Arg{Manager\Bar Client}]
- \Arg{client}'s urgent hint has been set or
- unset. The second arg is \emph{Client} if it's
- been set by the client, and \emph{Manager} if
- it's been set by \Prog{wmii} via a control
- message.
- \item[\emph{Not}UrgentTag \Arg{tag} \Arg{Manager\Bar Client}]
- A client on \Arg{tag} has had its urgent hint
- set, or the last urgent client has had its
- urgent hint unset.
- \item[ClientClick\Bar ClientMouseDown \Arg{client} \Arg{button}]
- A client's titlebar has either been clicked or
- has a button pressed over it.
- \item[\emph{Left\Bar Right}Bar\emph{Click\Bar MouseDown} \Arg{button} \Arg{bar}]
- A left or right bar has been clicked or has a
- button pressed over it.
- \item[...] To be continued...
- \end{description}
-\item[ctl] The \emph{ctl} 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:
- \begin{description}
- \item[quit] Quit \Prog{wmii}
- \item[exec \Arg{prog}] Replace \Prog{wmii} with
- \emph{prog}
- \end{description}
-\end{description}
-
-\subsubsection{The /client/ Hierarchy}
-
-Each directory under \File{/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 \File{sel} directory, which
-represents the currently selected client.
-
-\begin{description}
-\item[ctl] When read, the \File{ctl} file returns the X window id
- of the client. The following commands may be written to
- it:
- \begin{description}
- \item[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.
- \item[\Arg{Not}Urgent] Set or unset the client's urgent
- hint.
- \item[\Arg{Not}Fullscreen]
-
- \end{description}
-\item[label] Set or read a client's label (title).
-\item[props] Returns a clients class and label as:
- \emph{name}:\emph{class}:\emph{label}
-\item[tags] Set or read a client's tags. Tags are separated by
- \emph{+} or \emph{-}. Tags beginning with \emph{+} are
- added, while those beginning with \emph{-} are removed.
- If the tag string written begins with \emph{+} or
- \emph{-}, the written tags are added to or removed from
- the client's set, otherwise, the set is overwritten.
-\end{description}
-
-\subsubsection{The /tag/ Hierarchy}
-
-Each directory under \File{/tag/} represents a view, containing
-all of the clients with the given tag applied. The special
-\File{sel} directory represents the currently selected tag.
-
-\begin{description}
-\item[ctl] The \File{ctl} file can be read to retrieve the name
- of the tag the directory represents, or written with the
- following commands:
- \begin{description}
- \item[select] Select a client: \\
- \SP\SP select \Arg{direction} \\
- \SP\SP select \Arg{frame} \\
- \item[send] Send a client somewhere:
- \begin{description}
- \item[send \Arg{client|sel} \Arg{up|down|left|right}]
- \item[send \Arg{client|sel} \Arg{area}] Send
- \Arg{client} to the nth \Arg{area}
- \item[send \Arg{client|sel} toggle] Toggle
- \Arg{client} between the floating and
- managed layer.
- \end{description}
- \item[swap] Swap a client with another. Same syntax as
- send.
- \item[grow] Grow or shrink a client.
- \SP\SP grow \Arg{<frame>} \Arg{<direction>} \Arg{[amount]}
- \item[nudge] Nudge a client in a given direction.
- \SP\SP grow \Arg{<frame>} \Arg{<direction>} \Arg{[amount]}
- \end{description}
-
- Where the arguments are defined as follows:
- \begin{description}
- \item[area] Selects a column or the floating area. \\
- \SP\SP area ::= "\Tilde"\SP | <number> | "sel" \\
- Where ~ represents the floating area and <number>
- represents a column index, starting at one.
- \item[frame] Selects a client window. \\
- \SP\SP frame ::= <area> <space> <index> | <area> "sel" | client <window-id> \\
- Where <index> represents the nth frame of <area> or
- <window-id> is the X11 window id of the given client.
- \item[amount] The amount to grow or nudge something. \\
- \SP\SP amount ::= <number> "px"? \\
- If "px" is given, <number> is interperated as an exact
- pixel count. Otherwise, it's interperated as a "reasonable"
- amount, which is usually either the height of a window's title
- bar, or its sizing increment (as defined by X11) in a given
- direction.
- \end{description}
-
-\item[index] Read for a description of the contents of a tag.
-\end{description}
-
-\subsubsection{The /rbar/, /lbar/ Hierarchy}
-
-The files under \File{/rbar/} and \File{/lbar/} represent the
-items of the bar at the bottom of the screen. Files under
-\File{/lbar/} appear on the left side of the bar, while those
-under \File{/rbar/} appear on the right, with the leftmost item
-occupying all extra available space. The items are sorted
-lexicographically.
-
-The files may be read to obtain the colors and text of the bars.
-The colors are at the beginning 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.
-
-\section{FILES}
-
-\begin{description}
-\item[/tmp/ns.$USER.${DISPLAY\%.0}/wmii] The wmii socket file
- which provides a 9P service.
-\item[CONFPREFIX/wmii-3.5] Global action directory.
-\item[\$HOME/.wmii-3.5] User-specific action directory. Actions
- are first searched here.
-\end{description}
-
-\section{ENVIRONMENT}
-
-\begin{description}
-\item[HOME, DISPLAY] See the section \textbf{FILES} above.
-\end{description}
-
-The following variables are set and exported within \Prog{wmii} and
-thus can be used in actions:
-
-\begin{description}
-\item[WMII\_ADDRESS] Socket file of Used by \Cmd{wmiir}{1}.
-\end{description}
-
-\section{SEE ALSO}
-\Cmd{dmenu}{1}, \Cmd{wmiir}{1}
-
-[1] http://www.suckless.org/wiki/wmii/tips/9p\_tips
-
diff -r 52048afb3666 -r f366155f13ba man/wmiiloop.1
--- a/man/wmiiloop.1 Mon Dec 01 07:43:20 2008 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-'\" t
-.\" Manual page created with latex2man on Wed Oct 15 16:04:52 EDT 2008
-.\" NOTE: This file is generated, DO NOT EDIT.
-.de Vb
-.ft CW
-.nf
-..
-.de Ve
-.ft R
-
-.fi
-..
-.TH "WMIILOOP" "1" " Wed Dec 31 19:00:00 EDT 1969
-" "" ""
-.SH NAME
-wmiiloop\-VERSION
-.PP
-.SH SYNOPSIS
-eval
-"$(wmiiloop
-<events)"
-.PP
-.SH DESCRIPTION
-.PP
-wmiiloop
-is an awk and sh script which preprocesses \fIsh\fP(1)
-syntax
-to simplify writing a wmii event loop.
-.PP
-wmiiloop
-associates lines begining with \fIEvent\fP,
-\fIAction\fP,
-or
-\fIKey\fP
-(henceforth known as \fB$keyword\fP),
-followed by arbitrary
-text (henceforth known as \fB$args\fP),
-with functions which call any
-indented lines which follow. In the function names, all non\-alphanumeric
-characters in \fB$args\fP
-are replaced with underscores (_). The
-functions are named \fB$keyword\fP\&'_\&'\fB$args\fP\&.
-.PP
-Any variables in the unintented lines are interpolated by the shell.
-.PP
-Additionally, each declaration\&'s \fB$args\fP
-are assigned to a variable
-named \fB$keyword\fP\&'s\&'\&.
-In this case, no transliteration occurs. For
-instance, the following declaration:
-.PP
-.Vb
-Key $MODKEY\-j
- echo Got $@
-.Ve
-yields (assuming \fI$MODKEY\fP
-is set to \fIMod1\fP):
-.PP
-.Vb
-Keys=" $Keys Mod1\-j"
-Mod1_j() {
- echo Got $@
-}
-.Ve
-.PP
-.SH SEE ALSO
-\fIwmii\fP(1),
-\fIwmii\fP(1)\&.
-\fIwmiir\fP(1),
-PREFX/etc/wmiirc
-.PP
-.\" NOTE: This file is generated, DO NOT EDIT.
diff -r 52048afb3666 -r f366155f13ba man/wmiiloop.tex
--- a/man/wmiiloop.tex Mon Dec 01 07:43:20 2008 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-\begin{Name}{1}{wmiiloop}{Kris Maglione}{}{wmiiloop}
- \Prog{wmiiloop}-VERSION
-\end{Name}
-
-\section{Synopsis}
-\Prog{eval} "\$(\Prog{wmiiloop} <\File{events})"
-
-\section{Description}
-
-\Prog{wmiiloop} is an awk and sh script which preprocesses \Cmd{sh}{1} syntax
-to simplify writing a wmii event loop.
-
-\Prog{wmiiloop} associates lines begining with \emph{Event}, \emph{Action}, or
-\emph{Key} (henceforth known as \textbf{\$keyword}), followed by arbitrary
-text (henceforth known as \textbf{\$args}), with functions which call any
-indented lines which follow. In the function names, all non-alphanumeric
-characters in \textbf{\$args} are replaced with underscores (\_). The
-functions are named \textbf{\$keyword}'_'\textbf{\$args}.
-
-Any variables in the unintented lines are interpolated by the shell.
-
-Additionally, each declaration's \textbf{\$args} are assigned to a variable
-named \textbf{\$keyword}'s'. In this case, no transliteration occurs. For
-instance, the following declaration:
-
-\begin{verbatim}
-Key $MODKEY-j
- echo Got $@
-\end{verbatim}
-yields (assuming \emph{\$MODKEY} is set to \emph{Mod1}):
-
-\begin{verbatim}
-Keys=" $Keys Mod1-j"
-Mod1_j() {
- echo Got $@
-}
-\end{verbatim}
-
-\section{SEE ALSO}
-\Cmd{wmii}{1}, \Cmd{wmii}{1}. \Cmd{wmiir}{1},
-\File{PREFX/etc/wmiirc}
-
diff -r 52048afb3666 -r f366155f13ba mk/hdr.mk
--- a/mk/hdr.mk Mon Dec 01 07:43:20 2008 -0500
+++ b/mk/hdr.mk Tue Dec 09 18:06:10 2008 -0500
@@ -54,9 +54,9 @@
echo FILTER $(BASE)$<
$(FILTER) $< >$@
chmod 0755 $@
-.1.man1:
- echo FILTER $(BASE)$<
- $(FILTER) $< >$@
+.man1.1:
+ echo TXT2TAGS $(BASE)$<
+ txt2tags -o- $< | $(FILTER) >$@
.O.install:
echo INSTALL $$($(CLEANNAME) $(BASE)$*)
@@ -82,14 +82,14 @@
echo UNINSTALL $$($(CLEANNAME) $(BASE)$<)
rm -f $(INCLUDE)/$<
-.man1.install:
+.1.install:
set -e; \
man=1; \
path="$(MAN)/man$$man/$*.$$man"; \
echo INSTALL man $$($(CLEANNAME) "$(BASE)/$*($$man)"); \
cp "$<" "$$path"; \
chmod 0644 "$$path"
-.man1.uninstall:
+.1.uninstall:
echo UNINSTALL man $$($(CLEANNAME) $*'(1)')
rm -f $(MAN)/man1/$<
diff -r 52048afb3666 -r f366155f13ba mk/man.mk
--- a/mk/man.mk Mon Dec 01 07:43:20 2008 -0500
+++ b/mk/man.mk Tue Dec 09 18:06:10 2008 -0500
@@ -1,6 +1,5 @@
-OFILES=$(TARG:.1=.man1)
-all: $(OFILES)
+all: $(TARG)
install: ${TARG:.1=.install}
uninstall: ${TARG:.1=.uninstall}
Received on Tue Dec 09 2008 - 23:06:12 UTC
This archive was generated by hypermail 2.2.0 : Tue Dec 09 2008 - 23:12:04 UTC