2009-05-24 06:08:12 +04:00
|
|
|
|
\documentclass[letterpaper,oneside]{scrbook}
|
|
|
|
|
|
|
|
|
|
\usepackage{txfonts}
|
|
|
|
|
|
|
|
|
|
\usepackage{fontspec}
|
|
|
|
|
\usepackage{xunicode}
|
|
|
|
|
\usepackage{xltxtra}
|
|
|
|
|
|
|
|
|
|
\usepackage{fancyvrb}
|
|
|
|
|
\usepackage[top=1in,bottom=1in]{geometry}
|
|
|
|
|
\usepackage{graphicx}
|
|
|
|
|
\usepackage{makeidx}
|
|
|
|
|
\usepackage{xcolor}
|
2009-05-25 23:19:55 +04:00
|
|
|
|
\usepackage[xetex,breaklinks,colorlinks,linkcolor=black]{hyperref}
|
|
|
|
|
|
2010-06-26 01:21:12 +04:00
|
|
|
|
\let\EA=\expandafter
|
|
|
|
|
|
|
|
|
|
\newif\ifexpandfragments
|
|
|
|
|
\newif\ifdefinefragments
|
|
|
|
|
|
|
|
|
|
%% Indexes
|
2009-05-25 23:19:55 +04:00
|
|
|
|
\makeindex
|
2009-11-13 03:38:31 +03:00
|
|
|
|
\let\primary=\textbf
|
2009-05-24 06:08:12 +04:00
|
|
|
|
|
|
|
|
|
\setmainfont[Mapping=tex-text, Numbers=OldStyle]{Palatino LT Std}
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\def\lining{\addfontfeature{Numbers=Lining}}
|
2009-05-24 06:08:12 +04:00
|
|
|
|
|
2009-05-25 23:19:55 +04:00
|
|
|
|
\let\primary=\textbf
|
|
|
|
|
|
2009-10-13 11:25:17 +04:00
|
|
|
|
\def\titlebar#1{%
|
|
|
|
|
\begin{center}\includegraphics[width=5.5in]{#1.png}\end{center}}
|
|
|
|
|
|
2009-11-13 03:38:31 +03:00
|
|
|
|
\def\man#1#2{#2\textbf{(#1)}}
|
|
|
|
|
|
2010-06-26 01:21:12 +04:00
|
|
|
|
\makeatletter
|
|
|
|
|
|
|
|
|
|
%% Key specs
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\def\key#1{{\small$\langle$\lining#1\/$\rangle$}}
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\let\<=<
|
|
|
|
|
\catcode`\<=\active
|
|
|
|
|
\def<#1>{\key{#1}}
|
|
|
|
|
|
2010-06-26 01:21:12 +04:00
|
|
|
|
%% Display ‹...› and «...» as text in left and right pointing
|
|
|
|
|
%% angle brackets. I use «» and ‹› because my terminal doesn't
|
|
|
|
|
%% display left and right pointing angle brackets properly, and
|
|
|
|
|
%% Xorg's compose maps don't provide them, anyway.
|
|
|
|
|
\def\«{«}\def\‹{‹}
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\catcode`\«=\active
|
|
|
|
|
\catcode`\‹=\active
|
|
|
|
|
\def‹#1›{$\langle${\itshape#1}$\rangle$}
|
|
|
|
|
\def«#1»{$\langle\langle${\itshape#1}$\rangle\rangle$}
|
|
|
|
|
|
2010-06-26 01:21:12 +04:00
|
|
|
|
\catcode`\∅=\active
|
|
|
|
|
\def∅{\box0}
|
|
|
|
|
\def«{%
|
|
|
|
|
\let\dofragment@target=\hyperlink%
|
|
|
|
|
\@ifnextchar*\dofragment@@\dofragment@}
|
|
|
|
|
\def\dofragment@@*{%
|
|
|
|
|
\let\dofragment@target=\hypertarget%
|
|
|
|
|
\dofragment@}
|
|
|
|
|
\def\dofragment@#1»{%
|
|
|
|
|
\setbox0=\hbox{$\langle\langle${\itshape#1}$\rangle\rangle$}%
|
|
|
|
|
\ifexpandfragments%
|
|
|
|
|
\def\a{\sp\sp\comment \boxzero^^J}%
|
|
|
|
|
\begingroup%
|
|
|
|
|
\def\ { }\xdef\@frag@name{#1}%
|
|
|
|
|
\endgroup%
|
|
|
|
|
\UseFragment{∅}\@frag@name%
|
|
|
|
|
\else%
|
|
|
|
|
\dofragment@target{frag:#1}{\box0}%
|
|
|
|
|
\fi}
|
|
|
|
|
|
2009-05-24 06:08:12 +04:00
|
|
|
|
% Display |...| as verbatim, teletype text.
|
|
|
|
|
\DefineShortVerb{\|}
|
|
|
|
|
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\def\macroname#1{%
|
|
|
|
|
\expandafter\@macroname\string#1}
|
|
|
|
|
\def\@macroname#1{}
|
|
|
|
|
\def\defverb#1{%
|
|
|
|
|
\EA\def\EA#1\EA{\EA\protect\EA\UseVerb\EA{\macroname#1}}%
|
|
|
|
|
\EA\SaveVerb\EA{\macroname#1}}
|
|
|
|
|
|
2010-05-22 06:52:47 +04:00
|
|
|
|
\let\idx@@heading\chapter
|
2010-06-26 01:21:12 +04:00
|
|
|
|
|
|
|
|
|
%% Create a verbatim {code} environment which highlights strings
|
|
|
|
|
%% and comments. Several unicode characters are hacked to replace
|
|
|
|
|
%% the grabbed characters, since we can't escape them in the
|
|
|
|
|
%% verbatim environment.
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\colorlet{comment}{gray}
|
2009-11-13 03:38:31 +03:00
|
|
|
|
\colorlet{string}{red!100!black!90}
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\let\‘=‘
|
|
|
|
|
\let\“=“
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\def\≔{≔}
|
|
|
|
|
\catcode`#=\active
|
|
|
|
|
\catcode`\≔=\active
|
|
|
|
|
\def\docodes{%
|
|
|
|
|
\catcode`\#=\active%
|
|
|
|
|
\catcode`“=\active%
|
|
|
|
|
\catcode`‘=\active}
|
|
|
|
|
|
|
|
|
|
\def≔{\ensuremath{\Coloneqq}}
|
|
|
|
|
\let#=\#
|
|
|
|
|
\begingroup
|
|
|
|
|
\docodes
|
|
|
|
|
\catcode`\#=\active%
|
|
|
|
|
\catcode`¶=6
|
|
|
|
|
\gdef\comment{\itshape\color{comment}\let“=\“\let‘=\‘\#}
|
|
|
|
|
\gdef\dodefineactive{%
|
|
|
|
|
\let#=\comment%
|
|
|
|
|
\gdef“¶¶1”{{\color{string}\“¶¶1”}}%
|
|
|
|
|
\gdef‘¶¶1’{{\color{string}\‘¶¶1’}}}
|
|
|
|
|
\endgroup
|
|
|
|
|
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\DefineVerbatimEnvironment{code}{Verbatim}{xleftmargin=2em,gobble=2,%
|
2010-06-28 01:08:20 +04:00
|
|
|
|
codes={\docodes\catcode`\☺=0},%
|
2010-06-26 01:21:12 +04:00
|
|
|
|
defineactive={\dodefineactive}}
|
2009-05-24 06:08:12 +04:00
|
|
|
|
|
2010-06-26 01:21:12 +04:00
|
|
|
|
%% Save code fragments for piecing together later
|
|
|
|
|
\begingroup
|
|
|
|
|
\catcode`\@=0
|
|
|
|
|
@catcode`\\=12
|
|
|
|
|
@gdef@bcode{@detokenize{\begin{code}^^J}}
|
|
|
|
|
@gdef@ecode{@detokenize{\end{code}^^J}}
|
|
|
|
|
@catcode`@ =12@gdef@sp{ }
|
|
|
|
|
@endgroup
|
|
|
|
|
|
|
|
|
|
% Ripped from fancyverb
|
|
|
|
|
% I'm currently rather unfond of it.
|
|
|
|
|
\def\Fragment{\FV@Environment{}{Fragment}}
|
|
|
|
|
\def\FVB@Fragment#1{%
|
|
|
|
|
\@bsphack
|
|
|
|
|
\begingroup
|
|
|
|
|
\FV@UseKeyValues
|
|
|
|
|
\gdef\Fragment@Name{#1}%
|
|
|
|
|
\xdef\Fragment@Prefix{\«*#1» \≔^^J}
|
|
|
|
|
\xdef\TheFragment{}
|
|
|
|
|
\def\FV@ProcessLine##1{%
|
|
|
|
|
\edef\frag{\detokenize{##1^^J}}%
|
|
|
|
|
\xdef\TheFragment{\TheFragment\frag}}%
|
|
|
|
|
\FV@Scan}
|
|
|
|
|
\def\FVE@Fragment{%
|
|
|
|
|
\EA\global\EA\let
|
|
|
|
|
\csname SV@\Fragment@Name\endcsname\TheFragment%
|
|
|
|
|
\endgroup%
|
|
|
|
|
\EA\UseFragment\EA{\Fragment@Prefix}\Fragment@Name}
|
|
|
|
|
\DefineVerbatimEnvironment{Fragment}{Fragment}{}
|
|
|
|
|
|
|
|
|
|
\def\UseFragment#1#2{
|
|
|
|
|
\begingroup
|
|
|
|
|
\EA\let\EA\a\csname SV@#2\endcsname
|
|
|
|
|
\ifx\a\undefined\def\a{\ldots}\fi
|
|
|
|
|
\ifx\FV@EnvironName\relax%
|
|
|
|
|
\edef\a{\bcode\detokenize{++#1}\a\ecode}\else%
|
|
|
|
|
\edef\a{\detokenize{#1}\a}\fi%
|
|
|
|
|
\newtoks\tokens
|
|
|
|
|
\EA\tokens\EA{\a}
|
|
|
|
|
\everyeof{\noexpand}%
|
|
|
|
|
\scantokens\EA{\the\tokens}
|
|
|
|
|
\endgroup
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
%% Convenience defs for the various wmii commands, and a few
|
|
|
|
|
%% others.
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\defverb\wmii|wmii|
|
|
|
|
|
\defverb\wiIXmenu|wimii9menu|
|
|
|
|
|
\defverb\wimenu|wimenu|
|
|
|
|
|
\defverb\wmiir|wmiir|
|
|
|
|
|
\def\ninep{{\lining 9P}}
|
2009-10-14 06:19:38 +04:00
|
|
|
|
\def\POSIX{\textsc{POSIX}}
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\def\plannine{{\lining Plan 9}}
|
|
|
|
|
\def\ICCCM#1{%
|
|
|
|
|
\@ICCCM#1@
|
|
|
|
|
\href{http://www.tronche.com/gui/x/icccm/sec-\@ICCCM@chap.html\#s-#1}{%
|
|
|
|
|
ICCCM \lining§#1}}
|
|
|
|
|
\def\@ICCCM#1.#2@{\def\@ICCCM@chap{#1}}
|
|
|
|
|
|
|
|
|
|
\makeatother
|
2009-05-24 06:08:12 +04:00
|
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
\thispagestyle{empty}
|
|
|
|
|
\leavevmode
|
|
|
|
|
\vfill
|
|
|
|
|
|
|
|
|
|
\begin{center}
|
|
|
|
|
\centerline{\includegraphics[width=2in]{../img/wmii.pdf}}
|
|
|
|
|
|
|
|
|
|
\vskip 1in
|
|
|
|
|
|
|
|
|
|
\LARGE
|
|
|
|
|
The \wmii\ User Guide
|
|
|
|
|
|
|
|
|
|
\vskip .5in
|
|
|
|
|
|
|
|
|
|
\Large
|
|
|
|
|
Kris Maglione \\[1em]
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\lining
|
2009-10-14 06:19:38 +04:00
|
|
|
|
13 October 2009
|
2009-05-24 06:08:12 +04:00
|
|
|
|
|
|
|
|
|
\end{center}
|
|
|
|
|
|
|
|
|
|
\vfill
|
|
|
|
|
|
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
|
|
\frontmatter
|
|
|
|
|
|
|
|
|
|
\tableofcontents
|
|
|
|
|
|
2009-10-14 06:19:38 +04:00
|
|
|
|
\newpage
|
|
|
|
|
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\include{license}
|
2009-10-14 06:19:38 +04:00
|
|
|
|
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\mainmatter
|
|
|
|
|
|
2010-06-28 01:08:20 +04:00
|
|
|
|
\include{introduction}
|
|
|
|
|
\include{gettingstarted}
|
|
|
|
|
\include{customizing}
|
2009-09-29 04:09:38 +04:00
|
|
|
|
|
2009-05-25 23:19:55 +04:00
|
|
|
|
\backmatter
|
|
|
|
|
|
|
|
|
|
\printindex
|
|
|
|
|
|
2009-05-24 06:08:12 +04:00
|
|
|
|
\end{document}
|