Some doc updates.

Update issue #155.
I hope that this addresses most of your concerns.
This commit is contained in:
Kris Maglione 2009-11-12 19:38:31 -05:00
parent 4ef9c591eb
commit 3051e5e8a8
4 changed files with 171 additions and 80 deletions

Binary file not shown.

View File

@ -13,7 +13,9 @@
\usepackage{xcolor} \usepackage{xcolor}
\usepackage[xetex,breaklinks,colorlinks,linkcolor=black]{hyperref} \usepackage[xetex,breaklinks,colorlinks,linkcolor=black]{hyperref}
% Indexes
\makeindex \makeindex
\let\primary=\textbf
\setmainfont[Mapping=tex-text, Numbers=OldStyle]{Palatino LT Std} \setmainfont[Mapping=tex-text, Numbers=OldStyle]{Palatino LT Std}
@ -22,6 +24,8 @@
\def\titlebar#1{% \def\titlebar#1{%
\begin{center}\includegraphics[width=5.5in]{#1.png}\end{center}} \begin{center}\includegraphics[width=5.5in]{#1.png}\end{center}}
\def\man#1#2{#2\textbf{(#1)}}
% Key specs % Key specs
\def\key#1{{\small$\langle$\addfontfeature{Numbers=Lining}#1\/$\rangle$}} \def\key#1{{\small$\langle$\addfontfeature{Numbers=Lining}#1\/$\rangle$}}
\let\<=< \let\<=<
@ -52,7 +56,7 @@
% the grabbed characters, since we can't escape them in the % the grabbed characters, since we can't escape them in the
% verbatim environment. % verbatim environment.
\colorlet{comment}{gray} \colorlet{comment}{gray}
\colorlet{string}{yellow!80!black!100} \colorlet{string}{red!100!black!90}
\let\= \let\=
\let\“=“ \let\“=“
\catcode`¶=6 \catcode`¶=6
@ -603,7 +607,7 @@ should refer to \wmii's |man| pages.
There are several configuration schemes available for \wmii. If There are several configuration schemes available for \wmii. If
you're only looking to add basic key bindings, status monitors, you're only looking to add basic key bindings, status monitors,
{\it et cetera}, you should have no trouble modifying the stock \emph{et cetera}, you should have no trouble modifying the stock
configuration for your language of choice. If you're looking for configuration for your language of choice. If you're looking for
deeper knowledge of \wmii's control interface though, this deeper knowledge of \wmii's control interface though, this
section is for you. We'll proceed by building a configuration section is for you. We'll proceed by building a configuration
@ -757,6 +761,10 @@ between the left and right sides for five seconds.
\section{Keys} \section{Keys}
\label{keybindings}
\index{key bindings}
\index{filesystem!/!keys}
\index{filesystem!/!event}
Now to the part you've no doubt been waiting for: binding keys. Now to the part you've no doubt been waiting for: binding keys.
When binding keys, you need to be aware of two files, |/keys| When binding keys, you need to be aware of two files, |/keys|
and |/event|. The former defines which keys \wmii\ needs to and |/event|. The former defines which keys \wmii\ needs to
@ -847,30 +855,44 @@ it for client and tag menus.
\section{Control Files} \section{Control Files}
Most filesystem objects, including the root directory, have Several directories including the root, have control files,
control files, named |ctl|. The first line of most control files named |ctl|. These files are used to control the object (e.g., a
is the canonical name of the directory they reside in, which client or tag) represented by the directory. Each line of the
comes in handy for the special |sel/| directories, which are file, with the possible section of the first, represents a
aliases for the currently selected object of a group. The control variable and its value. In the case of all but the root
following lines represent properties of the object. Control |/ctl| file, the first line represents the id of the directory.
files may be written to, in similar syntax to the values that In the case of |/tag/foo/ctl|, for instance, the first line
can be read, to update those properties. For instance, if a file should read |foo|. This is useful when dealing with the special
contains: |sel/| directories. For instance, when |foo| is the selected
tag, the special |/tag/sel| directory is a link to |/tag/foo|,
and the first line of |/tag/sel/ctl| will read |foo|, just as
if you'd accessed |/tag/foo/ctl| directly.
The rest of the lines, the control variables, can be modified by
writing new values to the control file. For instance, if a
client is fullscreen, its control file will contain the line:
\begin{code} \begin{code}
Fullscreen on Fullscreen on
\end{code} \end{code}
\noindent either of the following, when written to the file, \noindent To restore the client from fullscreen, either of the
will disable the |Fullscreen| state: following lines may be written to its control file:
\begin{code} \begin{code}
Fullscreen off Fullscreen off
Fullscreen toggle Fullscreen toggle
\end{code} \end{code}
When next read, the |Fullscreen on| line will have been replaced
with |Fullscreen off|. No care need be taken to preserve the
other contents of the file. They're generated anew each time
it's read.
\section{Clients} \section{Clients}
\def\clientlabel{/client/$\langle\mathit{client}\rangle$/}
\index{filesystem!/client/*/@\clientlabel|(}
Clients are represented by directories under the |/client/| Clients are represented by directories under the |/client/|
tree. Subdirectory names represent the client's X11 window ID. tree. Subdirectory names represent the client's X11 window ID.
The special |sel/| directory represents the currently selected The special |sel/| directory represents the currently selected
@ -878,6 +900,7 @@ client. The files in these directories are:
\begin{description} \begin{description}
\item[ctl] The control file. The properties are: \item[ctl] The control file. The properties are:
\index{filesystem!/client/*/@\clientlabel!ctl}
\begin{description} \begin{description}
\item[Fullscreen] The client's fullscreen state. When \item[Fullscreen] The client's fullscreen state. When
|on|, the client is displayed fullscreen on all of its |on|, the client is displayed fullscreen on all of its
@ -892,9 +915,13 @@ client. The files in these directories are:
\item[props] The client's window class (the X11 |WM_CLASS| \item[props] The client's window class (the X11 |WM_CLASS|
property) and title string, separated by colons. This file property) and title string, separated by colons. This file
is not writable. is not writable.
\index{filesystem!/client/*/@\clientlabel!props}
\item[label] The client's window title. May be written to \item[label] The client's window title. May be written to
change the client's title. change the client's title.
\item[tags] The client's tags. Tag names are separated by |+| \index{filesystem!/client/*/@\clientlabel!label}
\item[tags]
\index{filesystem!/client/*/@\clientlabel!tags}
The client's tags. Tag names are separated by |+|
signs. Tags beginning and ending with |/| are treated as signs. Tags beginning and ending with |/| are treated as
regular expressions. If the written value begins with a |+| regular expressions. If the written value begins with a |+|
or a |-|, the tags are updated rather than overwritten. Tag or a |-|, the tags are updated rather than overwritten. Tag
@ -905,6 +932,8 @@ client. The files in these directories are:
|foobar|, but not the tag |foodstand|. |foobar|, but not the tag |foodstand|.
\end{description} \end{description}
\index{filesystem!/client/*/@\clientlabel|)}
\subsection{Key Bindings} \subsection{Key Bindings}
To control clients, we'll add the following key bindings: To control clients, we'll add the following key bindings:
@ -968,76 +997,85 @@ with it. The stock scripts prompt the user for input:
\section{Views} \section{Views}
\def\taglabel{/tag/$\langle\mathit{tag}\rangle$/}
\index{filesystem!/tag/*/@\taglabel|(}
Views are represented by directories under the |/tag/| tree. The Views are represented by directories under the |/tag/| tree. The
special |sel/| directory represents the currently selected special |sel/| directory represents the currently selected
client. The |sel| tag is treated similarly elsewhere. The files client. The |sel| tag is treated similarly elsewhere. The files
in these directories are: in these directories are:
\begin{description} \begin{description}
\item[ctl] The view's control file. The properties are: \item[ctl]
\item[select Area] Select the column Area, where The view's control file. The properties are:
Area is a 1-based column index, or |~| for the floating \index{filesystem!/tag/*/@\taglabel!ctl|(}
area. It may be optionally preceded by Screen|:|, where
Screen is a 0-based Xinerama screen index, or “sel”. When
omitted, Screen defaults to 0, the primary screen.
\item[select Area Client Index] Select the column Area, and
the Client Indexth client.
\item[select client Client ID] Select the client with the
X11 window ID Client ID.
\item[select Direction]
Select the client in Direction where Direction may be
one of up $\wedge$ down $\wedge$ left $\wedge$ right.
\item[send client Client ID Area] Send Client ID to
Area. Area may be |sel| for the selected area, and
|client Client ID| may be |sel| for the currently selected
client.
\item[send client Client ID Direction]
Send Client ID to a column or position in its column in
the given direction.
\item[send client Client ID toggle] If Client ID is
floating, send it to the managed layer. If it's managed,
send it to the floating layer.
\item[swap client Client ID \ldots] The same as the |send|
commands, but swap Client ID with the client at the given
location.
\item[colmode Area Mode] Set Area's mode to Mode,
where Mode is a string of values similar to tag
specifications. Values which may be added and removed are as
follows for managed areas:
\begin{description} \begin{description}
\item[stack] One and only one client in the area is \item[select Area] Select the column Area, where
uncollapsed at any given time. When a new client is Area is a 1-based column index, or |~| for the floating
selected, it is uncollapsed and the previously selected area. It may be optionally preceded by Screen|:|, where
client is collapsed. Screen is a 0-based Xinerama screen index, or “sel”. When
\item[max] Collapsed clients are hidden from view omitted, Screen defaults to 0, the primary screen.
entirely. Uncollapsed clients display an indicator \item[select Area Client Index] Select the column Area, and
{\itn/m}, where m is the number of collapsed the Client Indexth client.
clients directly above and below the client, plus one, \item[select client Client ID] Select the client with the
and n is the client's index in the stack. X11 window ID Client ID.
\item[default] Like subtracting the stack mode, but all \item[select Direction]
clients in the column are given equal height. Select the client in Direction where Direction may be
\end{description} one of up $\wedge$ down $\wedge$ left $\wedge$ right.
\item[send client Client ID Area] Send Client ID to
Area. Area may be |sel| for the selected area, and
|client Client ID| may be |sel| for the currently selected
client.
\item[send client Client ID Direction]
Send Client ID to a column or position in its column in
the given direction.
\item[send client Client ID toggle] If Client ID is
floating, send it to the managed layer. If it's managed,
send it to the floating layer.
\item[swap client Client ID \ldots] The same as the |send|
commands, but swap Client ID with the client at the given
location.
\item[colmode Area Mode] Set Area's mode to Mode,
where Mode is a string of values similar to tag
specifications. Values which may be added and removed are as
follows for managed areas:
For the floating area, the values are the same, except that \begin{description}
in |max| mode, floating clients are hidden when the managed \item[stack] One and only one client in the area is
layer is selected. uncollapsed at any given time. When a new client is
\item[grow Frame Direction {[Amount]}] Grow Frame in selected, it is uncollapsed and the previously selected
the given direction, by Amount. Amount may be any client is collapsed.
integer, positive or negative. If suffixed with |px|, \item[max] Collapsed clients are hidden from view
it specifies an exact pixel amount, otherwise it specifies a entirely. Uncollapsed clients display an indicator
“reasonable increment”. Defaults to 1. {\itn/m}, where m is the number of collapsed
clients directly above and below the client, plus one,
and n is the client's index in the stack.
\item[default] Like subtracting the stack mode, but all
clients in the column are given equal height.
\end{description}
Frame may be one of: For the floating area, the values are the same, except that
\begin{itemize} in |max| mode, floating clients are hidden when the managed
\item client Client ID layer is selected.
\item Area Client Index \item[grow Frame Direction {[Amount]}] Grow Frame in
\end{itemize} the given direction, by Amount. Amount may be any
\item[nudge Frame Direction {[Amount]}] Like integer, positive or negative. If suffixed with |px|,
|grow|, but move the client in Direction instead of it specifies an exact pixel amount, otherwise it specifies a
resizing it. “reasonable increment”. Defaults to 1.
Frame may be one of:
\begin{itemize}
\item client Client ID
\item Area Client Index
\end{itemize}
\item[nudge Frame Direction {[Amount]}] Like
|grow|, but move the client in Direction instead of
resizing it.
\end{description}
\index{filesystem!/tag/*/@\taglabel!ctl|)}
\end{description} \end{description}
\index{filesystem!/tag/*/@\taglabel|)}
\subsection{Key Bindings} \subsection{Key Bindings}
We'll use the following key bindings to interact with views: We'll use the following key bindings to interact with views:
@ -1112,8 +1150,10 @@ IDs to prevent untoward effects when this script dies.
The root filesystem contains the following: The root filesystem contains the following:
\index{!filesystem!/|(}
\begin{description} \begin{description}
\item[ctl] The control file. The properties are: \item[ctl] The control file. The properties are:
\index{filesystem!/!ctl}
\begin{description} \begin{description}
\item[bar on top $\wedge$ bottom] Controls where the bar \item[bar on top $\wedge$ bottom] Controls where the bar
is shown. is shown.
@ -1128,7 +1168,16 @@ The root filesystem contains the following:
clients and the default color of bar buttons. clients and the default color of bar buttons.
\item[font Font] The font used throughout \wmii. If \item[font Font] The font used throughout \wmii. If
prefixed with |xft:|, the Xft font renderer is used, and prefixed with |xft:|, the Xft font renderer is used, and
fonts may be antialiased. fonts may be antialiased. Xft font names follow the
fontconfig formula. For instance, 10pt, italic Lucida
Sans would be specified as
\begin{code}
xft:Lucida Sans-10:italic
\end{code}
See \man 1 {fc-match}.
\item[grabmod Modifier Keys] The key which must be \item[grabmod Modifier Keys] The key which must be
pressed to move and resize windows with the mouse pressed to move and resize windows with the mouse
without clicking hot spots. without clicking hot spots.
@ -1157,8 +1206,46 @@ The root filesystem contains the following:
searched for the executable. Otherwise, the whole searched for the executable. Otherwise, the whole
argument is passed to the shell for evaluation. argument is passed to the shell for evaluation.
\end{description} \end{description}
\item[keys] The global keybindings. See section \ref{keybindings}.
\index{filesystem!/!keys|primary}
\item[event] The global event feed. See section \ref{keybindings}.
\index{filesystem!/!event|primary}
\item[colrules]
\index{filesystem!/!colrules}
The |/colrules| file contains a list of
rules which affect the width of newly created columns.
Rules have the form:
\begin{quote}\texttt{
/regex/ -> width{\color{gray}[}+width{\color{gray}]*}}
\end{quote}
When a new column, n, is created on a view whose
name matches regex, the nth given
width percentage of the screen is given to it. If
there is no nth width, $1/\mbox{ncolth}$ of the
screen is given to it.
\item[tagrules]
\index{filesystem!/!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:
\begin{quote}\texttt{
/regex/ -> tag{\color{gray}[}+tag{\color{gray}]*}}
\end{quote}
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.
\end{description} \end{description}
\index{!filesystem!/|)}
\subsection{Configuration} \subsection{Configuration}
We'll need to let \wmii\ know about our previously defined theme We'll need to let \wmii\ know about our previously defined theme

View File

@ -329,8 +329,10 @@ has a button pressed over it.
A left or right bar has been clicked or has a A left or right bar has been clicked or has a
button pressed over it. button pressed over it.
.TP .TP
...  
To be continued...
For a more comprehensive list of available events, see
\fIwmii.pdf\fR\fI[2]\fR
.RS -8 .RS -8
.TP .TP
@ -565,6 +567,7 @@ dmenu(1), wmiir(1)
.P .P
\fI[1]\fR http://www.suckless.org/wiki/wmii/tips/9p_tips \fI[1]\fR http://www.suckless.org/wiki/wmii/tips/9p_tips
\fI[2]\fR @DOCDIR@/wmii.pdf
.\" man code generated by txt2tags 2.5 (http://txt2tags.sf.net) .\" man code generated by txt2tags 2.5 (http://txt2tags.sf.net)

View File

@ -250,7 +250,7 @@ follows.
screen is given to it. screen is given to it.
: tagrules : tagrules
The //tagrules// file contains a list of The _tagrules_ file contains a list of
rules similar to the colrules. These rules specify rules similar to the colrules. These rules specify
the tags a client is to be given when it is created. the tags a client is to be given when it is created.
Rules are specified: Rules are specified:
@ -289,10 +289,10 @@ follows.
: [Left|Right]Bar[Click|MouseDown] <button> <bar> : [Left|Right]Bar[Click|MouseDown] <button> <bar>
A left or right bar has been clicked or has a A left or right bar has been clicked or has a
button pressed over it. button pressed over it.
: ... :  
To be continued...
:
<< <<
For a more comprehensive list of available events, see
_wmii.pdf_[2]
: ctl : ctl
The _ctl_ file takes a number of messages to The _ctl_ file takes a number of messages to
@ -473,4 +473,5 @@ dmenu(1), wmiir(1)
@DOCDIR@/wmii.pdf @DOCDIR@/wmii.pdf
[1] http://www.suckless.org/wiki/wmii/tips/9p_tips [1] http://www.suckless.org/wiki/wmii/tips/9p_tips
[2] @DOCDIR@/wmii.pdf