summaryrefslogtreecommitdiffstats
path: root/emacs.d/lisp/rudel/doc
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.d/lisp/rudel/doc')
-rw-r--r--emacs.d/lisp/rudel/doc/.svn/all-wcprops23
-rw-r--r--emacs.d/lisp/rudel/doc/.svn/entries130
-rw-r--r--emacs.d/lisp/rudel/doc/.svn/text-base/Project.ede.svn-base20
-rw-r--r--emacs.d/lisp/rudel/doc/.svn/text-base/card.pdf.svn-basebin0 -> 68211 bytes
-rw-r--r--emacs.d/lisp/rudel/doc/.svn/text-base/card.tex.svn-base329
-rw-r--r--emacs.d/lisp/rudel/doc/Project.ede20
-rw-r--r--emacs.d/lisp/rudel/doc/card.pdfbin0 -> 68211 bytes
-rw-r--r--emacs.d/lisp/rudel/doc/card.tex329
8 files changed, 851 insertions, 0 deletions
diff --git a/emacs.d/lisp/rudel/doc/.svn/all-wcprops b/emacs.d/lisp/rudel/doc/.svn/all-wcprops
new file mode 100644
index 0000000..28e96e7
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/.svn/all-wcprops
@@ -0,0 +1,23 @@
+K 25
+svn:wc:ra_dav:version-url
+V 37
+/svnroot/rudel/!svn/ver/399/trunk/doc
+END
+card.pdf
+K 25
+svn:wc:ra_dav:version-url
+V 46
+/svnroot/rudel/!svn/ver/396/trunk/doc/card.pdf
+END
+Project.ede
+K 25
+svn:wc:ra_dav:version-url
+V 49
+/svnroot/rudel/!svn/ver/297/trunk/doc/Project.ede
+END
+card.tex
+K 25
+svn:wc:ra_dav:version-url
+V 46
+/svnroot/rudel/!svn/ver/399/trunk/doc/card.tex
+END
diff --git a/emacs.d/lisp/rudel/doc/.svn/entries b/emacs.d/lisp/rudel/doc/.svn/entries
new file mode 100644
index 0000000..5128808
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/.svn/entries
@@ -0,0 +1,130 @@
+10
+
+dir
+545
+https://rudel.svn.sourceforge.net/svnroot/rudel/trunk/doc
+https://rudel.svn.sourceforge.net/svnroot/rudel
+
+
+
+2009-10-10T00:39:48.026786Z
+399
+scymtym
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+694b31df-dcbb-44e8-af88-74c7ea918228
+
+card.pdf
+file
+
+
+
+
+2009-11-18T14:01:45.000000Z
+2df6dba381ea9728a9850132f09a68af
+2009-10-10T00:38:34.122289Z
+396
+scymtym
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+68211
+
+Project.ede
+file
+
+
+
+
+2009-11-18T14:01:45.000000Z
+7b9a11f15f24e39437250456cd11bae7
+2009-10-03T01:25:19.588187Z
+297
+scymtym
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+408
+
+card.tex
+file
+
+
+
+
+2009-11-18T14:01:45.000000Z
+be52a552897987dec702a9a2eee7d347
+2009-10-10T00:39:48.026786Z
+399
+scymtym
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9459
+
diff --git a/emacs.d/lisp/rudel/doc/.svn/text-base/Project.ede.svn-base b/emacs.d/lisp/rudel/doc/.svn/text-base/Project.ede.svn-base
new file mode 100644
index 0000000..0348d84
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/.svn/text-base/Project.ede.svn-base
@@ -0,0 +1,20 @@
+;; Object doc
+;; EDE project file.
+(ede-proj-project "rudel/doc"
+ :name "doc"
+ :file "Project.ede"
+ :targets (list
+ (ede-proj-target-makefile-miscelaneous "card.pdf"
+ :name "card.pdf"
+ :path ""
+ :source '("card.tex")
+ :rules (list
+ (ede-makefile-rule "pdftex"
+ :target "card.pdf"
+ :dependencies "card.tex"
+ :rules '("pdftex -t landscape $<")
+ )
+ )
+ )
+ )
+ )
diff --git a/emacs.d/lisp/rudel/doc/.svn/text-base/card.pdf.svn-base b/emacs.d/lisp/rudel/doc/.svn/text-base/card.pdf.svn-base
new file mode 100644
index 0000000..60ddf36
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/.svn/text-base/card.pdf.svn-base
Binary files differ
diff --git a/emacs.d/lisp/rudel/doc/.svn/text-base/card.tex.svn-base b/emacs.d/lisp/rudel/doc/.svn/text-base/card.tex.svn-base
new file mode 100644
index 0000000..8be513d
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/.svn/text-base/card.tex.svn-base
@@ -0,0 +1,329 @@
+%% card.tex --- Reference Card for Rudel 0.2
+%
+% Copyright (c) 1987, 1992 Free Software Foundation, Inc.
+% Copyright (c) 2009 Jan Moringen
+%
+% Author: Stephen Gildea <gildea@erl.mit.edu> (refcard.tex format)
+% Dave Gillespie <daveg@synaptics.com> (Calc reference card)
+% Jan Moringen <scymtym@users.sourceforge.net> (Rudel)
+%
+% This file is part of Rudel.
+%
+% Rudel is free software: you can redistribute it and/or modify it
+% under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Rudel is distributed in the hope that it will be useful, but
+% WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with rudel. If not, see <http://www.gnu.org/licenses>.
+
+
+%% Commentary:
+%
+% The format for this file is adapted from the GNU Emacs reference
+% card version 1.9, by Stephen Gildea and the GNU Calc reference card
+% by Dave Gillespie.
+%
+% This file is intended to be processed by plain TeX.
+% Typical command to format: pdftex -t landscape card.tex
+% Typical command to print: tex card.tex
+% dvips -t landscape card.dvi
+
+
+%% Constants
+%
+
+\def\versionnumber{0.2}
+\def\versiondate{September 2009}
+\def\year{2009}
+
+\def\copyrightnotice{
+\vskip 1ex plus 2 fill\begingroup\small
+\centerline{Copyright \copyright\ \year\ Jan Moringen}
+\centerline{written by Jan Moringen}
+\centerline{for Rudel version \versionnumber\ (\versiondate)}
+
+Permission is granted to make and distribute copies of
+this card provided the copyright notice and this permission notice
+are preserved on all copies.
+
+%For copies of the GNU Emacs Calc manual, write to the Free Software
+%Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
+
+\endgroup}
+
+
+
+%% Header
+%
+
+% make \bye not \outer so that the \def\bye in the \else clause below
+% can be scanned without complaint.
+\def\bye{\par\vfill\supereject\end}
+
+\newdimen\intercolumnskip
+\newbox\columna
+\newbox\columnb
+
+\def\scaledmag#1{ scaled \magstep #1}
+
+% This format was designed by Stephen Gildea in October 1986.
+\hsize 3.2in
+\vsize 7.95in
+\hoffset -.75in
+\voffset -.745in
+\font\titlefont=cmbx10 \scaledmag2
+\font\headingfont=cmbx10 \scaledmag1
+\font\subheadingfont=cmbx10 \scaledmag0
+\font\smallfont=cmr6
+\font\smallsy=cmsy6
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighttt=cmtt8
+\font\eightsy=cmsy8
+\textfont0=\eightrm
+\textfont2=\eightsy
+\font\notefont=cmti7
+\def\rm{\eightrm}
+\def\bf{\eightbf}
+\def\it{\eightit}
+\def\tt{\eighttt}
+\normalbaselineskip=.8\normalbaselineskip
+\normallineskip=.8\normallineskip
+\normallineskiplimit=.8\normallineskiplimit
+\normalbaselines\rm %make definitions take effect
+
+\let\maxcolumn=c
+\nopagenumbers
+
+\intercolumnskip=.46in
+\def\abc{a}
+\output={%
+ % This next line is useful when designing the layout.
+ %\immediate\write16{Column \folio\abc\space starts with \firstmark}
+ \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
+ \else\if a\abc
+ \global\setbox\columna\columnbox \global\def\abc{b}
+ %% in case we never use \columnb (two-column mode)
+ \global\setbox\columnb\hbox to -\intercolumnskip{}
+ \else
+ \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
+
+\def\multicolumnformat{\shipout\vbox{\makeheadline
+ \hbox{\box\columna\hskip\intercolumnskip
+ \box\columnb\hskip\intercolumnskip\columnbox}
+ \makefootline}\advancepageno}
+\def\columnbox{\leftline{\pagebody}}
+
+\def\bye{\par\vfill\supereject
+ \if a\abc \else\null\vfill\eject\fi
+ \if a\abc \else\null\vfill\eject\fi
+ \end}
+
+% we won't be using math mode much, so redefine some of the characters
+% we might want to talk about
+\catcode`\^=12
+\catcode`\_=12
+
+\chardef\\=`\\
+\chardef\{=`\{
+\chardef\}=`\}
+
+\parindent 0pt
+\parskip 1ex plus .5ex minus .5ex
+
+\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
+
+\outer\def\newcolumn{\vfill\eject}
+
+\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
+
+\outer\def\section#1{\par\filbreak
+ \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
+ \vskip 2ex plus 1ex minus 1.5ex}
+
+\outer\def\subsection#1{\par\filbreak
+ \vskip 3ex plus 2ex minus 2ex {\subheadingfont #1}\mark{#1}%
+ \vskip 2ex plus 1ex minus 1.5ex}
+
+\newdimen\keyindent
+
+\def\beginindentedkeys{\keyindent=1em}
+\def\endindentedkeys{\keyindent=0em}
+\endindentedkeys
+
+\def\paralign{\vskip\parskip\halign}
+
+\def\<#1>{$\langle${\rm #1}$\rangle$}
+
+\def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
+
+\def\key#1#2{\leavevmode\hbox to \hsize{\vtop
+ {\hsize=.75\hsize\rightskip=1em
+ \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
+
+\newbox\metaxbox
+\setbox\metaxbox\hbox{\kbd{M-x }}
+\newdimen\metaxwidth
+\metaxwidth=\wd\metaxbox
+
+% Redefine to make spaces a bit smaller
+\let\wkbd=\kbd
+\def\kbd#1{{\spaceskip=.37em\tt#1}\null}
+
+\def\wkey#1#2{\leavevmode\hbox to \hsize{\vtop
+ {\hsize=.75\hsize\rightskip=1em
+ \hskip\keyindent\relax#1}\wkbd{#2}\hfil}}
+
+\def\ccc{C-c\ c\ }
+\def\,{{\rm ,\hskip.55em}\ignorespaces}
+\def\lesssectionskip{\vskip-1.5ex}
+
+\def\iline#1{\par\line{\hskip1em\relax #1\hfill}\par}
+
+\font\eighti=cmmi8
+\textfont1=\eighti
+
+
+%% Document
+%
+
+\title{Rudel Reference Card}\vskip-1ex
+\centerline{\tt http://rudel.sourceforge.net}\vskip1ex
+\centerline{(for Rudel version \versionnumber\ of \versiondate)}
+
+\section{Key Bindings}
+
+\lesssectionskip
+{\notefont All key bindings are only available when the global Rudel
+minor mode is active. See ``Minor Modes'' below.}
+
+\subsection{Hosting and Joining}
+
+\wkey{Join a Rudel session}{\ccc j}
+\wkey{Leave a Rudel session}{\ccc e}
+
+\wkey{Host a Rudel session}{\ccc h}
+
+\subsection{In a Session}
+
+The following commands are available once a Rudel session has been
+joined:
+
+\key{Change color}{\ccc c}
+
+\key{Create and publish document for buffer}{\ccc p}
+\key{Subscribe to a document}{\ccc s}
+
+The following commands are only available if the current buffer has an
+associated document (achieved by publishing or subscribing):
+
+\key{Detach buffer from document (unsubscribe)}{\ccc u}
+
+\section{Minor Modes}
+
+\subsection{Global Rudel Minor Mode}
+
+The global Rudel minor mode global-rudel-minor-mode is responsible for
+installing the Rudel menu and keymap.
+
+\subsection{Participants in Header Line}
+
+The mode ({\tt rudel-header-subscriptions-minor-mode}) shows
+subscribed users in the header line of the buffer.
+
+The associated global mode ({\tt global-rudel-header-subscriptions
+mode}) turns the mode on or off in all suitable buffers.
+
+\subsection{Buffer Status in Mode Line}
+
+The mode ({\tt rudel-mode-line-publish-state-minor-mode}) shows the
+publication state of the buffer in its mode line ({\tt P}: published,
+{\tt -}: not published)
+
+The associated global mode ({\tt
+global-rudel-mode-line-publish-state-mode}) turns the mode on or off
+in all suitable buffers.
+
+\eject
+
+\section{Backends}
+
+\lesssectionskip
+In Rudel, various kinds of backends are used to provide multiple
+pluggable implementations of functionalities like communication
+protocols, network transport, session initiation and parts of the user
+interface.
+
+\subsection{Protocol}
+
+{\bf Obby}
+
+This backend implements the obby protocol used by the Gobby
+collaborative editor until (including) version 4.9.
+
+\subsection{Session Initiation}
+
+{\bf Configured Sessions}
+
+Frequently used sessions can be configured permanently using the {\tt
+rudel-configured-sessions} customization variable. When there are
+configured sessions, connecting to one of these session is offered
+when joining a session using \kbd{\ccc j}.
+
+{\bf Zeroconf}
+
+The Zeroconf backends discovers collaboration sessions which are
+advertised using, well Zeroconf. Currently, it works for Rudel (obby
+backend) and Obby servers. When there are Zeroconf-advertised
+sessions, using \kbd{\ccc j} to join a session will display these
+sessions.
+
+\section{Examples}
+
+\subsection{Joining a Session with the obby backend}
+
+{\bf Without Zeroconf Discovery}
+
+\kbd{\ccc j}\hfil\break
+{\tt Server: }{\it SERVER} \kbd{RET}\hfil\break
+{\tt Port (default 6522): } \kbd{RET}\hfil\break
+{\tt Username: }{\it NAME} \kbd{RET}\hfil\break
+{\tt Color: }{\it COLOR} \kbd{RET}\hfil\break
+{\notefont (use bright colors like yellow)}\hfil\break
+{\it When connecting to a Rudel server:}\hfil\break
+-\hskip2ex {\tt Use Encryption (yes or no): }{\it NO} \kbd{RET}\hfil\break
+{\it When connecting to a Gobby server:}\hfil\break
+-\hskip2ex {\tt Use Encryption (yes or no): }{\it YES} \kbd{RET}\hfil\break
+{\tt Global Password: }{\it PASSWORD} \kbd{RET}\hfil\break
+{\it This password controls access to the session; just \kbd{RET} for
+none}\hfil\break
+{\tt User Password: }{\it PASSWORD} \kbd{RET}\hfil\break
+{\it This password prevents name stealing; just \kbd{RET} for
+none}\hfil\break
+
+{\bf With Zeroconf Discovery}
+
+\kbd{\ccc j}\hfil\break
+{\tt Choose Session: }Zeroconf advertised session {\it
+"NAME"}\kbd{RET}\hfil\break
+{\notefont (Note: by choosing "ask-protocol" here, you can still get the
+above behavior)}\hfil\break
+{\tt Username: }{\it NAME} \kbd{RET}\hfil\break
+{\tt Color: }{\it COLOR} \kbd{RET}\hfil\break
+{\tt Global Password: }{\it PASSWORD} \kbd{RET}\hfil\break
+{\tt User Password: }{\it PASSWORD} \kbd{RET}\hfil
+
+\copyrightnotice
+
+\bye
+
+% Local variables:
+% mode: plain-TeX; eval: (tex-pdf-mode);
+% End:
diff --git a/emacs.d/lisp/rudel/doc/Project.ede b/emacs.d/lisp/rudel/doc/Project.ede
new file mode 100644
index 0000000..0348d84
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/Project.ede
@@ -0,0 +1,20 @@
+;; Object doc
+;; EDE project file.
+(ede-proj-project "rudel/doc"
+ :name "doc"
+ :file "Project.ede"
+ :targets (list
+ (ede-proj-target-makefile-miscelaneous "card.pdf"
+ :name "card.pdf"
+ :path ""
+ :source '("card.tex")
+ :rules (list
+ (ede-makefile-rule "pdftex"
+ :target "card.pdf"
+ :dependencies "card.tex"
+ :rules '("pdftex -t landscape $<")
+ )
+ )
+ )
+ )
+ )
diff --git a/emacs.d/lisp/rudel/doc/card.pdf b/emacs.d/lisp/rudel/doc/card.pdf
new file mode 100644
index 0000000..60ddf36
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/card.pdf
Binary files differ
diff --git a/emacs.d/lisp/rudel/doc/card.tex b/emacs.d/lisp/rudel/doc/card.tex
new file mode 100644
index 0000000..8be513d
--- /dev/null
+++ b/emacs.d/lisp/rudel/doc/card.tex
@@ -0,0 +1,329 @@
+%% card.tex --- Reference Card for Rudel 0.2
+%
+% Copyright (c) 1987, 1992 Free Software Foundation, Inc.
+% Copyright (c) 2009 Jan Moringen
+%
+% Author: Stephen Gildea <gildea@erl.mit.edu> (refcard.tex format)
+% Dave Gillespie <daveg@synaptics.com> (Calc reference card)
+% Jan Moringen <scymtym@users.sourceforge.net> (Rudel)
+%
+% This file is part of Rudel.
+%
+% Rudel is free software: you can redistribute it and/or modify it
+% under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Rudel is distributed in the hope that it will be useful, but
+% WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with rudel. If not, see <http://www.gnu.org/licenses>.
+
+
+%% Commentary:
+%
+% The format for this file is adapted from the GNU Emacs reference
+% card version 1.9, by Stephen Gildea and the GNU Calc reference card
+% by Dave Gillespie.
+%
+% This file is intended to be processed by plain TeX.
+% Typical command to format: pdftex -t landscape card.tex
+% Typical command to print: tex card.tex
+% dvips -t landscape card.dvi
+
+
+%% Constants
+%
+
+\def\versionnumber{0.2}
+\def\versiondate{September 2009}
+\def\year{2009}
+
+\def\copyrightnotice{
+\vskip 1ex plus 2 fill\begingroup\small
+\centerline{Copyright \copyright\ \year\ Jan Moringen}
+\centerline{written by Jan Moringen}
+\centerline{for Rudel version \versionnumber\ (\versiondate)}
+
+Permission is granted to make and distribute copies of
+this card provided the copyright notice and this permission notice
+are preserved on all copies.
+
+%For copies of the GNU Emacs Calc manual, write to the Free Software
+%Foundation, Inc., 675 Massachusetts Ave, Cambridge MA 02139.
+
+\endgroup}
+
+
+
+%% Header
+%
+
+% make \bye not \outer so that the \def\bye in the \else clause below
+% can be scanned without complaint.
+\def\bye{\par\vfill\supereject\end}
+
+\newdimen\intercolumnskip
+\newbox\columna
+\newbox\columnb
+
+\def\scaledmag#1{ scaled \magstep #1}
+
+% This format was designed by Stephen Gildea in October 1986.
+\hsize 3.2in
+\vsize 7.95in
+\hoffset -.75in
+\voffset -.745in
+\font\titlefont=cmbx10 \scaledmag2
+\font\headingfont=cmbx10 \scaledmag1
+\font\subheadingfont=cmbx10 \scaledmag0
+\font\smallfont=cmr6
+\font\smallsy=cmsy6
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighttt=cmtt8
+\font\eightsy=cmsy8
+\textfont0=\eightrm
+\textfont2=\eightsy
+\font\notefont=cmti7
+\def\rm{\eightrm}
+\def\bf{\eightbf}
+\def\it{\eightit}
+\def\tt{\eighttt}
+\normalbaselineskip=.8\normalbaselineskip
+\normallineskip=.8\normallineskip
+\normallineskiplimit=.8\normallineskiplimit
+\normalbaselines\rm %make definitions take effect
+
+\let\maxcolumn=c
+\nopagenumbers
+
+\intercolumnskip=.46in
+\def\abc{a}
+\output={%
+ % This next line is useful when designing the layout.
+ %\immediate\write16{Column \folio\abc\space starts with \firstmark}
+ \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
+ \else\if a\abc
+ \global\setbox\columna\columnbox \global\def\abc{b}
+ %% in case we never use \columnb (two-column mode)
+ \global\setbox\columnb\hbox to -\intercolumnskip{}
+ \else
+ \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
+
+\def\multicolumnformat{\shipout\vbox{\makeheadline
+ \hbox{\box\columna\hskip\intercolumnskip
+ \box\columnb\hskip\intercolumnskip\columnbox}
+ \makefootline}\advancepageno}
+\def\columnbox{\leftline{\pagebody}}
+
+\def\bye{\par\vfill\supereject
+ \if a\abc \else\null\vfill\eject\fi
+ \if a\abc \else\null\vfill\eject\fi
+ \end}
+
+% we won't be using math mode much, so redefine some of the characters
+% we might want to talk about
+\catcode`\^=12
+\catcode`\_=12
+
+\chardef\\=`\\
+\chardef\{=`\{
+\chardef\}=`\}
+
+\parindent 0pt
+\parskip 1ex plus .5ex minus .5ex
+
+\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
+
+\outer\def\newcolumn{\vfill\eject}
+
+\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
+
+\outer\def\section#1{\par\filbreak
+ \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
+ \vskip 2ex plus 1ex minus 1.5ex}
+
+\outer\def\subsection#1{\par\filbreak
+ \vskip 3ex plus 2ex minus 2ex {\subheadingfont #1}\mark{#1}%
+ \vskip 2ex plus 1ex minus 1.5ex}
+
+\newdimen\keyindent
+
+\def\beginindentedkeys{\keyindent=1em}
+\def\endindentedkeys{\keyindent=0em}
+\endindentedkeys
+
+\def\paralign{\vskip\parskip\halign}
+
+\def\<#1>{$\langle${\rm #1}$\rangle$}
+
+\def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
+
+\def\key#1#2{\leavevmode\hbox to \hsize{\vtop
+ {\hsize=.75\hsize\rightskip=1em
+ \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
+
+\newbox\metaxbox
+\setbox\metaxbox\hbox{\kbd{M-x }}
+\newdimen\metaxwidth
+\metaxwidth=\wd\metaxbox
+
+% Redefine to make spaces a bit smaller
+\let\wkbd=\kbd
+\def\kbd#1{{\spaceskip=.37em\tt#1}\null}
+
+\def\wkey#1#2{\leavevmode\hbox to \hsize{\vtop
+ {\hsize=.75\hsize\rightskip=1em
+ \hskip\keyindent\relax#1}\wkbd{#2}\hfil}}
+
+\def\ccc{C-c\ c\ }
+\def\,{{\rm ,\hskip.55em}\ignorespaces}
+\def\lesssectionskip{\vskip-1.5ex}
+
+\def\iline#1{\par\line{\hskip1em\relax #1\hfill}\par}
+
+\font\eighti=cmmi8
+\textfont1=\eighti
+
+
+%% Document
+%
+
+\title{Rudel Reference Card}\vskip-1ex
+\centerline{\tt http://rudel.sourceforge.net}\vskip1ex
+\centerline{(for Rudel version \versionnumber\ of \versiondate)}
+
+\section{Key Bindings}
+
+\lesssectionskip
+{\notefont All key bindings are only available when the global Rudel
+minor mode is active. See ``Minor Modes'' below.}
+
+\subsection{Hosting and Joining}
+
+\wkey{Join a Rudel session}{\ccc j}
+\wkey{Leave a Rudel session}{\ccc e}
+
+\wkey{Host a Rudel session}{\ccc h}
+
+\subsection{In a Session}
+
+The following commands are available once a Rudel session has been
+joined:
+
+\key{Change color}{\ccc c}
+
+\key{Create and publish document for buffer}{\ccc p}
+\key{Subscribe to a document}{\ccc s}
+
+The following commands are only available if the current buffer has an
+associated document (achieved by publishing or subscribing):
+
+\key{Detach buffer from document (unsubscribe)}{\ccc u}
+
+\section{Minor Modes}
+
+\subsection{Global Rudel Minor Mode}
+
+The global Rudel minor mode global-rudel-minor-mode is responsible for
+installing the Rudel menu and keymap.
+
+\subsection{Participants in Header Line}
+
+The mode ({\tt rudel-header-subscriptions-minor-mode}) shows
+subscribed users in the header line of the buffer.
+
+The associated global mode ({\tt global-rudel-header-subscriptions
+mode}) turns the mode on or off in all suitable buffers.
+
+\subsection{Buffer Status in Mode Line}
+
+The mode ({\tt rudel-mode-line-publish-state-minor-mode}) shows the
+publication state of the buffer in its mode line ({\tt P}: published,
+{\tt -}: not published)
+
+The associated global mode ({\tt
+global-rudel-mode-line-publish-state-mode}) turns the mode on or off
+in all suitable buffers.
+
+\eject
+
+\section{Backends}
+
+\lesssectionskip
+In Rudel, various kinds of backends are used to provide multiple
+pluggable implementations of functionalities like communication
+protocols, network transport, session initiation and parts of the user
+interface.
+
+\subsection{Protocol}
+
+{\bf Obby}
+
+This backend implements the obby protocol used by the Gobby
+collaborative editor until (including) version 4.9.
+
+\subsection{Session Initiation}
+
+{\bf Configured Sessions}
+
+Frequently used sessions can be configured permanently using the {\tt
+rudel-configured-sessions} customization variable. When there are
+configured sessions, connecting to one of these session is offered
+when joining a session using \kbd{\ccc j}.
+
+{\bf Zeroconf}
+
+The Zeroconf backends discovers collaboration sessions which are
+advertised using, well Zeroconf. Currently, it works for Rudel (obby
+backend) and Obby servers. When there are Zeroconf-advertised
+sessions, using \kbd{\ccc j} to join a session will display these
+sessions.
+
+\section{Examples}
+
+\subsection{Joining a Session with the obby backend}
+
+{\bf Without Zeroconf Discovery}
+
+\kbd{\ccc j}\hfil\break
+{\tt Server: }{\it SERVER} \kbd{RET}\hfil\break
+{\tt Port (default 6522): } \kbd{RET}\hfil\break
+{\tt Username: }{\it NAME} \kbd{RET}\hfil\break
+{\tt Color: }{\it COLOR} \kbd{RET}\hfil\break
+{\notefont (use bright colors like yellow)}\hfil\break
+{\it When connecting to a Rudel server:}\hfil\break
+-\hskip2ex {\tt Use Encryption (yes or no): }{\it NO} \kbd{RET}\hfil\break
+{\it When connecting to a Gobby server:}\hfil\break
+-\hskip2ex {\tt Use Encryption (yes or no): }{\it YES} \kbd{RET}\hfil\break
+{\tt Global Password: }{\it PASSWORD} \kbd{RET}\hfil\break
+{\it This password controls access to the session; just \kbd{RET} for
+none}\hfil\break
+{\tt User Password: }{\it PASSWORD} \kbd{RET}\hfil\break
+{\it This password prevents name stealing; just \kbd{RET} for
+none}\hfil\break
+
+{\bf With Zeroconf Discovery}
+
+\kbd{\ccc j}\hfil\break
+{\tt Choose Session: }Zeroconf advertised session {\it
+"NAME"}\kbd{RET}\hfil\break
+{\notefont (Note: by choosing "ask-protocol" here, you can still get the
+above behavior)}\hfil\break
+{\tt Username: }{\it NAME} \kbd{RET}\hfil\break
+{\tt Color: }{\it COLOR} \kbd{RET}\hfil\break
+{\tt Global Password: }{\it PASSWORD} \kbd{RET}\hfil\break
+{\tt User Password: }{\it PASSWORD} \kbd{RET}\hfil
+
+\copyrightnotice
+
+\bye
+
+% Local variables:
+% mode: plain-TeX; eval: (tex-pdf-mode);
+% End: