changeset 1759:921429804e20

Update documentation
author Mikael Berthe <mikael@lilotux.net>
date Sat, 13 Mar 2010 18:05:07 +0100
parents 499d3ec34188
children 106bbf7e97da
files mcabber/doc/guide/guide.tex mcabber/doc/mcabber.1 mcabber/doc/mcabber.1.html mcabber/doc/mcabber.1.txt
diffstat 4 files changed, 3989 insertions(+), 2288 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/doc/guide/guide.tex	Sat Mar 13 14:51:13 2010 +0100
+++ b/mcabber/doc/guide/guide.tex	Sat Mar 13 18:05:07 2010 +0100
@@ -11,7 +11,7 @@
 \tableofcontents
 \chapter*{Introduction}
 This guide was written for users who are new to mcabber\cite{mcabber} which is a small
-command line client for the Jabber protocol\cite{jabber} as an introduction. This introduction may
+command line client for the Jabber (XMPP) protocol\cite{jabber} as an introduction. This introduction may
 become a comprehensive guide to every aspect of mcabber later, but the first versions should only be
 regarded as an overview of all features. Feel free to bug me with corrections of spelling errors or
 with contributions to the content.
@@ -23,10 +23,11 @@
 	\textit{variable} & This is a variable which can be set in the configuration file or during runtime. \\
 \end{tabular}
 \chapter{Basic Usage}
-After installing mcabber, you should create a configuration file first. The easiest way of doing this
-is to copy the sample configuration file\cite{samplerc} to \~{}/.mcabber/mcabberrc. Then, you only have to change the variables
-\textit{username} and \textit{server} before you can, finally, start mcabber. When the Login was successful,
-mcabber might look similar to the following screenshot:\\
+After installing mcabber, you should create a configuration file first.\\
+The easiest way of doing this is to copy the sample configuration file\cite{samplerc} to
+\~{}/.mcabber/mcabberrc. Then, you only have to change the variable
+\textit{jid} before you can, finally, start mcabber. When the Login is
+successful, mcabber might look similar to the following screenshot:\\
 \begin{figure}[h!]
 	\centering
 	\includegraphics[scale=0.8]{guide}
--- a/mcabber/doc/mcabber.1	Sat Mar 13 14:51:13 2010 +0100
+++ b/mcabber/doc/mcabber.1	Sat Mar 13 18:05:07 2010 +0100
@@ -1,1130 +1,1431 @@
+'\" t
 .\"     Title: mcabber
-.\"    Author: Mikael BERTHE
-.\"      Date: 11/03/2007
-.\"    Manual:
-.\"    Source:
+.\"    Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
+.\"      Date: 03/13/2010
+.\"    Manual: \ \&
+.\"    Source: \ \& 0.10.0-dev
+.\"  Language: English
 .\"
-.TH "MCABBER" "1" "11/03/2007" "" ""
+.TH "MCABBER" "1" "03/13/2010" "\ \& 0\&.10\&.0\-dev" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 .ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
 .SH "NAME"
-mcabber \- a simple Jabber console client
+mcabber \- a simple Jabber (XMPP) console client
 .SH "SYNOPSIS"
-\fImcabber\fR [ \-h | \-V | \-f configfile ]
 .sp
+\fImcabber\fR [ \-h | \-V | \-f configfile ]
 .SH "DESCRIPTION"
-mcabber(1) is a small Jabber console client. For now it needs a configuration file to start, so please copy the sample mcabberrc file and adapt your connection settings.
 .sp
-You also need to have an existing Jabber account to use this software, as it cannot (un)register accounts yet.
+mcabber(1) is a small Jabber (XMPP) console client\&. For now it needs a configuration file to start, so please copy the sample mcabberrc file and adapt your connection settings\&.
+.sp
+You also need to have an existing Jabber account to use this software, as it cannot (un)register accounts yet\&.
 .sp
 Here are some of the features of mcabber:
 .sp
-.sp
 .RS 4
-\h'-04'\(bu\h'+03'
-\fISSL/TLS support\fR.
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
+\fISASL/SSL/TLS support\fR\&.
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
 \fIMUC support\fR
-(Multi\-User Chat).
+(Multi\-User Chat)\&.
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
-\fIPGP support\fR
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
+\fIPGP, OTR support\fR
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
 \fIChat States\fR
 support (typing notifications)
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
 \fIHistory logging:\fR
 If enabled (see the CONFIGURATION FILE section),
 mcabber
-can save discussions to history log files.
+can save discussions to text history log files\&.
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
 \fICommands completion:\fR
 If possible,
 mcabber
-will try to complete your command line if you hit the Tab key.
+will try to complete your command line if you hit the Tab key\&.
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
 \fIInput line history:\fR
-Any message or command entered is in the input line history and can be reused easily.
+Any message or command entered is in the input line history and can be reused easily\&.
 .RE
 .sp
 .RS 4
-\h'-04'\(bu\h'+03'
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
 \fIExternal actions:\fR
-Some events (like receiving a message) can trigger an external action such as a shell script if you enable it in your configuration file. A sample events script ("eventcmd") is provided with
+Some events (like receiving a message) can trigger an external action such as a shell script if you enable it in your configuration file\&. A sample events script ("eventcmd") is provided with
 mcabber
-source code, in the contrib directory.
+source code, in the contrib directory\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+
+\fIModules:\fR
+mcabber
+can load modules (a\&.k\&.a\&. plugins) at runtime that extend its features\&.
 .RE
 .SH "OPTIONS"
 .PP
-\-\-help, \-h
+\-h
 .RS 4
 Quick help usage message
 .RE
 .PP
+\-V
+.RS 4
+Displays
+mcabber
+version and compile\-time definitions\&.
+.RE
+.PP
 \-f configfile
 .RS 4
 Use configuration file
 \fIconfigfile\fR
 .RE
 .SH "WINDOWS/PANES"
-The mcabber(1) screen is divided into 4 regions. The \fIroster\fR, alias \fIbuddylist\fR, is on the left. The \fIchat window\fR, or chat buffer, is on the right. The \fIinput line\fR lies at the bottom of the screen, under a small \fIlog window\fR.
 .sp
-Two status lines surround the log window. The bottom status line is the "main status line" and reflects mcabber general status. The other line is the "chat status line" and shows the status of the currently selected buddy.
-.sp
-To display buddies chat buffers, you will have to enter \fIchat mode\fR. You can enter chat mode by pressing enter, and leave chat mode with the ESC key. Simply sending a message will also enable chat mode.
-.sp
-There are several advantages to the two\-mode implementation: first, it allows accurate "unread" message functionality, as described in the next section; without this, merely scrolling to a specific buddy will "read" the new messages of all buddies in\-between. Second, it allows quickly hiding the conversation with a single keystroke. Third, it allows jumping between the few buddies with whom you are conversing with the \fI/roster alternate\fR command described in another section, without having to manually scroll back and forth.
-.sp
-.SH "KEYS"
-Text typing occurs in the \fIinput line\fR; basic operations are supported (left arrow, right arrow, home/end keys, insert, delete, backspace\&...).
-.sp
-PageUp and PageDown keys are used to move in the roster.
-.sp
-Up and Down arrow keys can be used to move in the input line history; they jump to the previous/next line from the history beginning with the same string (from first column to the cursor column).
-.sp
-To send a message, move to the choosen buddy in the buddylist, type your message and hit enter. If the line begins with a slash, this will be interpreted as a command (see the COMMAND section below). Hit escape to leave the chat mode.
-.sp
-Here is a quick description of the key bindings:
+The mcabber(1) screen is divided into 4 regions\&. The \fIroster\fR, alias \fIbuddylist\fR, is on the left\&. The \fIchat window\fR, or chat buffer, is on the right\&. The \fIinput line\fR lies at the bottom of the screen, under a small \fIlog window\fR\&.
 .sp
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l.
-T{
-Esc
+Two status lines surround the log window\&. The bottom status line is the "main status line" and reflects mcabber general status\&. The other line is the "chat status line" and shows the status of the currently selected buddy\&.
+.sp
+To display buddies chat buffers, you will have to enter \fIchat mode\fR\&. You can enter chat mode by pressing enter, and leave chat mode with the ESC key\&. Simply sending a message will also enable chat mode\&.
 .sp
-T}:T{
-Disable chat mode
-.sp
-T}
-T{
-Ctrl\-d
-.sp
-T}:T{
-Send/terminate a multi\-line message
+There are several advantages to the two\-mode implementation: first, it allows accurate "unread" message functionality, as described in the next section; without this, merely scrolling to a specific buddy will "read" the new messages of all buddies in\-between\&. Second, it allows quickly hiding the conversation with a single keystroke\&. Third, it allows jumping between the few buddies with whom you are conversing with the \fI/roster alternate\fR command described in another section, without having to manually scroll back and forth\&.
+.SH "KEYS"
 .sp
-T}
-T{
-Ctrl\-p/Ctrl\-n
-.sp
-T}:T{
-Scroll up/down half a screen in the buffer window (chat mode)
-.sp
-T}
-T{
-Ctrl\-Left
+Text typing occurs in the \fIinput line\fR; basic operations are supported (left arrow, right arrow, home/end keys, insert, delete, backspace\&...)\&.
 .sp
-T}:T{
-Move the cursor back to the start of the current or previous word
-.sp
-T}
-T{
-Ctrl\-Right
-.sp
-T}:T{
-Move the cursor forward to the end of the current or next word
+PageUp and PageDown keys are used to move in the roster\&.
 .sp
-T}
-T{
-Ctrl\-u
-.sp
-T}:T{
-Delete from beginning of the line to the cursor
+Up and Down arrow keys can be used to move in the input line history; they jump to the previous/next line from the history beginning with the same string (from first column to the cursor column)\&.
 .sp
-T}
-T{
-Ctrl\-k
-.sp
-T}:T{
-Delete from the cursor to the end of line
+To send a message, move to the chosen buddy in the buddylist, type your message and hit enter\&. If the line begins with a slash, this will be interpreted as a command (see the COMMAND section below)\&. Hit escape to leave the chat mode\&.
 .sp
-T}
-T{
+Here is a quick description of the default key bindings:
+.PP
+Esc
+.RS 4
+Disable chat mode
+.RE
+.PP
+Ctrl\-a
+.RS 4
+Go to the beginning of the input line
+.RE
+.PP
+Ctrl\-e
+.RS 4
+Go to the end of the input line
+.RE
+.PP
+Ctrl\-l
+.RS 4
+Force a refresh
+.RE
+.PP
+Up/Down
+.RS 4
+Move in the input line history
+.RE
+.PP
+PgUp/PgDown
+.RS 4
+Move inside the roster (buddylist)
+.RE
+.PP
+Tab
+.RS 4
+Complete current word, in the input line
+.RE
+.PP
+Ctrl\-g
+.RS 4
+Cancel completion
+.RE
+.PP
+Ctrl\-c
+.RS 4
+Abort multi\-line messages and completions
+.RE
+.PP
+Ctrl\-d
+.RS 4
+Send/terminate a multi\-line message
+.RE
+.PP
+Ctrl\-p/Ctrl\-n
+.RS 4
+Scroll up/down half a screen in the buffer window (chat mode)
+.RE
+.PP
+Ctrl\-Left
+.RS 4
+Move the cursor back to the start of the current or previous word
+.RE
+.PP
+Ctrl\-Right
+.RS 4
+Move the cursor forward to the end of the current or next word
+.RE
+.PP
+Ctrl\-u
+.RS 4
+Delete from beginning of the line to the cursor
+.RE
+.PP
+Ctrl\-k
+.RS 4
+Delete from the cursor to the end of line
+.RE
+.PP
 Ctrl\-w
-.sp
-T}:T{
+.RS 4
 Backward kill word
-.sp
-T}
-T{
+.RE
+.PP
 Ctrl\-t
-.sp
-T}:T{
+.RS 4
 Transpose chars
-.sp
-T}
-T{
+.RE
+.PP
 Ctrl\-o
-.sp
-T}:T{
+.RS 4
 Accept line and put the next history line in the input line (accept\-line\-and\-down\-history)
-.sp
-T}
-T{
-Ctrl\-a
-.sp
-T}:T{
-Go to the beginning of the input line
-.sp
-T}
-T{
-Ctrl\-e
-.sp
-T}:T{
-Go to the end of the input line
-.sp
-T}
-T{
-Ctrl\-l
-.sp
-T}:T{
-Force a refresh
+.RE
 .sp
-T}
-T{
-Up/Down
-.sp
-T}:T{
-Move in the input line history
-.sp
-T}
-T{
-PgUp/PgDown
-.sp
-T}:T{
-Move inside the roster (buddylist)
-.sp
-T}
-T{
-Tab
-.sp
-T}:T{
-Complete current word, in the input line
+Additional key bindings may be specified using the \fI/bind\fR command described in the COMMANDS section\&.
+.SH "MCABBER\(cqS ROSTER"
 .sp
-T}
-T{
-Ctrl\-g
-.sp
-T}:T{
-Cancel completion
-.sp
-T}
-T{
-Ctrl\-c
+The first listed resource on the roster is \fI[status]\fR, which keeps a log of everything that appears in the short log window below the main chat area\&. While the log window was designed for showing the latest few elements, the dedicated \fI[status]\fR buffer allows more comfortable viewing of the log, as well as scrolling it in a standard manner\&.
 .sp
-T}:T{
-Abort multi\-line messages and completions
-.sp
-T}
-.TE
+Group names are displayed above the resources that are within them, and are indicated by \fI\-\-\-\fR to the left of the name\&.
 .sp
-Additional key bindings may be specified using the \fI/bind\fR command described in the COMMANDS section.
-.sp
-.SH "MCABBER'S ROSTER"
-The first listed resource on the roster is \fI[status]\fR, which keeps a log of everything that appears in the short log window below the main chat area. While the log window was designed for showing the latest few elements, the dedicated \fI[status]\fR buffer allows more comfortable viewing of the log, as well as scrolling it in a standard manner.
-.sp
-Group names are displayed above the resources that are within them, and are indicated by \fI\-\-\-\fR to the left of the name.
-.sp
-For every real Jabber resource, the roster displays four pieces of information: the resource's name or alias, its online status, its authorization status, and whether there are unread messages from the resource waiting for you.
+For every real Jabber resource, the roster displays four pieces of information: the resource\(cqs name or alias, its online status, its authorization status, and whether there are unread messages from the resource waiting for you\&.
 .sp
 The online status is one of the following:
-.sp
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l.
-T{
+.PP
 \fIo\fR
-.sp
-T}:T{
+.RS 4
 online
-.sp
-T}
-T{
+.RE
+.PP
+\fIf\fR
+.RS 4
+free for chat
+.RE
+.PP
+\fIa\fR
+.RS 4
+away
+.RE
+.PP
+\fIn\fR
+.RS 4
+not available (labeled
+\fIextended away\fR
+in some clients)
+.RE
+.PP
+\fId\fR
+.RS 4
+do not disturb
+.RE
+.PP
+\fIi\fR
+.RS 4
+invisible (displayed only for your resource)
+.RE
+.PP
+\fI_\fR
+.RS 4
+offline (or invisible to you)
+.RE
+.PP
+\fI?\fR
+.RS 4
+unknown, usually meaning you are not authorized to see this resource\(cqs status
+.RE
+.PP
+\fIx\fR
+.RS 4
+a conference room in which you are not participating
+.RE
+.PP
 \fIC\fR
-.sp
-T}:T{
+.RS 4
 a conference room in which you are participating
-.sp
-T}
-T{
-\fIf\fR
-.sp
-T}:T{
-free for chat
-.sp
-T}
-T{
-\fIa\fR
-.sp
-T}:T{
-away
-.sp
-T}
-T{
-\fIn\fR
+.RE
 .sp
-T}:T{
-not available (labeled \fIextended away\fR in some clients)
-.sp
-T}
-T{
-\fId\fR
-.sp
-T}:T{
-do not disturb
-.sp
-T}
-T{
-\fIi\fR
-.sp
-T}:T{
-invisible (displayed only for your resource)
-.sp
-T}
-T{
-\fI_\fR
+The authorization status indicates whether a resource is authorized to receive your online status updates, and is displayed by the brackets surrounding the resource\(cqs online status\&. Square brackets, like \fI[o]\fR, indicate that this resource is authorized to receive your status\&. Curly braces, like \fI{o}\fR, indicate that they are not authorized to receive your status\&.
 .sp
-T}:T{
-offline (or invisible to you)
-.sp
-T}
-T{
-\fI?\fR
-.sp
-T}:T{
-unknown, usually meaning you are not authorized to see this resource's status
-.sp
-T}
-T{
-\fIx\fR
-.sp
-T}:T{
-a conference room in which you are not participating
-.sp
-T}
-.TE
-.sp
-The authorization status indicates whether a resource is authorized to receive your online status updates, and is displayed by the brackets surrounding the resource's online status. Square brackets, like \fI[o]\fR, indicate that this resource is authorized to receive your status. Curly braces, like \fI{o}\fR, indicate that they are not authorized to receive your status.
-.sp
-When there are unread messages from the resource which you have not looked at, a hash mark (\fI#\fR) appears in the leftmost section of the roster for that resource. The hash mark disappears once you view that resource's message log.
+When there are unread messages from the resource which you have not looked at, a hash mark (\fI#\fR) appears in the leftmost section of the roster for that resource\&. The hash mark disappears once you view that resource\(cqs message log\&.
 .sp
 Examples:
-.sp
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l.
-T{
-\fI \-\-\- Buds\fR
-.sp
-T}:T{
-This is a group named \fIBuds\fR
-.sp
-T}
-T{
+.PP
+\fI\-\-\- Buds\fR
+.RS 4
+This is a group named
+\fIBuds\fR
+.RE
+.PP
 \fI#[o] John\fR
-.sp
-T}:T{
+.RS 4
 John is online, can see your status, and sent you a message that you did not read yet
-.sp
-T}
-T{
-\fI {?} Sally\fR
+.RE
+.PP
+\fI{?} Sally\fR
+.RS 4
+Neither you nor Sally have authorized each other to see your online status
+.RE
+.PP
+\fI{a} Jane\fR
+.RS 4
+Jane is away, but she cannot see your online status
+.RE
+.PP
+\fI#[C] x@y\&.c\fR
+.RS 4
+You are participating in x@y\&.c conference room, and there are unread messages
+.RE
+.SH "COMMANDS"
 .sp
-T}:T{
-Neither you nor Sally have authorized each other to see your online status
-.sp
-T}
-T{
-\fI {a} Jane\fR
-.sp
-T}:T{
-Jane is away, but she cannot see your online status
+Please refer to the online help (command /help), it is probably more up\-to\-date than this manpage\&. Furthermore, help files have been translated into several languages\&. You will find an overview of the mcabber commands in this manual\&.
+.SH "COMMANDS RELATED TO MCABBER"
+.PP
+/add [jid [nickname]]
+.RS 4
+Add the "jid" Jabber user to our roster (default group), and send a notification request to this buddy\&. If no nickname is specified, the jid is used\&. If no jid (or an empty string "") is provided or if jid is "\&.", the current buddy is used\&.
+.PP
+[\fIjid\fR [nickname]]
+.RS 4
+Add to our roster "jid" as "nickname"
 .sp
-T}
-T{
-\fI#[C] x@y.c\fR
-.sp
-T}:T{
-You are participating in x@y.c conference room, and there are unread messages
-.sp
-T}
-.TE
-.sp
-.SH "COMMANDS"
-Please refer to the online help (command /help), it is probably more up\-to\-date than this manpage. Furthermore, help files have been translated into several languages. You will find an overview of the mcabber commands in this manual.
-.sp
-.SH "COMMANDS RELATED TO MCABBER"
+.if n \{\
+.RS 4
+.\}
+.nf
+Example: "/add somebody@jabber\&.server\&.com Somebody"
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.RE
 .PP
 /alias [name [= command line]]
 .RS 4
-Add "name" as an alias for "command line".
-Aliases are expanded only once, thus they can not be chained.
-"/alias name" displays the value associated with the "name" alias;
-"/alias name =" unsets the "name" alias.
-"/alias" displays a list of the existing aliases. Example: "/alias away = status away".
+This command let you to add aliases which can simplify sophisticated commands\&.
+
+You can manage your aliases by:
+.PP
+(without arguments)
+.RS 4
+Print list of currently defined aliases
+.RE
+.PP
+\fIname\fR
+.RS 4
+Print the value of alias called "name"
+.RE
+.PP
+\fIname\fR=
+.RS 4
+Unset alias called "name"
+.RE
+.PP
+\fIname\fR = command line
+.RS 4
+Set alias called "name" with value "command line"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Example: "/alias away = status away"
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.RE
+.PP
+/authorization allow|cancel|request|request_unsubscribe [jid]
+.RS 4
+This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications\&.
+
+If no JID is provided, the currently\-selected buddy is used\&.
+.PP
+\fIallow\fR
+.RS 4
+Allow the buddy to receive your presence updates
+.RE
+.PP
+\fIcancel\fR
+.RS 4
+Cancel the buddy\(cqs subscription to your presence updates
+.RE
+.PP
+\fIrequest\fR
+.RS 4
+Request a subscription to the buddy\(cqs presence updates
+.RE
+.PP
+\fIrequest_unsubscribe\fR
+.RS 4
+Request unsubscription from the buddy\(cqs presence updates
+.RE
 .RE
 .PP
 /bind [keycode [= command line]]
 .RS 4
-Bind a command line to the key with the "keycode" code number.
-Keycodes of unused keys are displayed by mcabber in the log window when pressing the key, for example "Unknown key=265".
-"/bind keycode" displays the command line bound to the given keycode;
-"/bind keycode =" unbinds the given keycode.
-"/bind" displays a list of the bound keycodes.
-Note: aliases can be used in key bindings.
-Example: "/bind 265 = status online" (265 is F1 for me, but it may depend on your ncurses installation).
+Bind the command to the key given as "keycode"\&. To examine which keys are currently not used look at
+mcabber
+log window and press examined key\&. For example: "Unknown key=265" means that you can bind some command to key #265\&.
+.PP
+(without arguments)
+.RS 4
+Display list of current bindings
+.RE
+.PP
+\fIkeycode\fR
+.RS 4
+Display the command line bound to this key
+.RE
+.PP
+\fIkeycode\fR=
+.RS 4
+Unbind key with code "keycode"
+.RE
+.PP
+\fIkeycode\fR = command line
+.RS 4
+Bind "command line" to the key with code "keycode"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Example: "/bind 265 = status away" (265 is F1)\&. +
+Note: keycodes can be different depending on your ncurses configuration\&. +
+Tip: aliases also can be used instead of commands\&.
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.RE
+.PP
+/buffer clear|close|close_all|purge|list, /buffer top|bottom|date|%|search_backward|search_forward, /buffer scroll_lock|scroll_unlock|scroll_toggle, /buffer save filename
+.RS 4
+Buddy\(cqs buffer manipulation command\&. Eg\&. you can search through buffer for "text", clear chat window etc\&.
+.PP
+\fIclear\fR
+.RS 4
+Clear the current buddy chat window
+.RE
+.PP
+\fIclose\fR [jid]
+.RS 4
+Empty all contents of the buffer and close the current buddy chat window
+.RE
+.PP
+\fIclose_all\fR
+.RS 4
+Empty all contents of the chat buffers and close the chat windows
+.RE
+.PP
+\fIpurge\fR [jid]
+.RS 4
+Clear the current buddy chat window and empty all contents of the chat buffer
+.RE
+.PP
+\fIlist\fR
+.RS 4
+Display the list of existing buffers, with their length (lines/blocks)
 .RE
 .PP
-/buffer clear|close|close_all|purge, /buffer top|bottom|date|%|search_backward|search_forward, /buffer scroll_lock|scroll_unlock|scroll_toggle
+\fItop\fR
 .RS 4
-The
-\fIbuffer\fR
-command manipulates the current buddy's buffer (chat window).
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l.
-T{
-\fIclear\fR
-T}:T{
-clear the current buddy chat window
-T}
-T{
-\fIclose\fR
-T}:T{
-empty all contents of the buffer and close the current buddy chat window
-T}
-T{
-\fIclose_all\fR
-T}:T{
-empty all contents of the chat buffers and close the chat windows
-T}
-T{
-\fIpurge\fR
-T}:T{
-clear the current buddy chat window and empty all contents of the chat buffer
-T}
-T{
-\fItop\fR
-T}:T{
-jump to the top of the current buddy chat buffer
-T}
-T{
+Jump to the top of the current buddy chat buffer
+.RE
+.PP
 \fIbottom\fR
-T}:T{
-jump to the bottom of the current buddy chat buffer
-T}
-T{
-\fIup\fR
-[n]
-T}:T{
-scroll the buffer up n lines (default: half a screen)
-T}
-T{
-\fIdown\fR
-[n]
-T}:T{
-scroll the buffer down n lines (default: half a screen)
-T}
-T{
-\fIdate\fR
-date
-T}:T{
-jump to the first line after the specified date in the chat buffer (date format: "YYYY\-mm\-dd[THH:MM:SS]", "\-" and ":" are optional)
-T}
-T{
-\fI%\fR
-n
-T}:T{
-jump to position %n of the buddy chat buffer
-T}
-T{
-\fIsearch_backward\fR
-text
-T}:T{
-search for "text" in the current buddy chat buffer
-T}
-T{
-\fIsearch_forward\fR
-text
-T}:T{
-search for "text" in the current buddy chat buffer
-T}
-T{
+.RS 4
+Jump to the bottom of the current buddy chat buffer
+.RE
+.PP
+\fIup\fR [n]
+.RS 4
+Scroll the buffer up [n] lines (default: half a screen)
+.RE
+.PP
+\fIdown\fR [n]
+.RS 4
+Scroll the buffer down [n] lines (default: half a screen)
+.RE
+.PP
+\fIdate\fR [date]
+.RS 4
+Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY\-mm\-dd")
+.RE
+.PP
+% n
+.RS 4
+Jump to position %n of the buddy chat buffer
+.RE
+.PP
+\fIsearch_backward\fR text
+.RS 4
+Search for [text] in the current buddy chat buffer
+.RE
+.PP
+\fIsearch_forward\fR text
+.RS 4
+Search for [text] in the current buddy chat buffer
+.RE
+.PP
 \fIscroll_lock\fR
-T}:T{
-lock buffer scrolling
-T}
-T{
+.RS 4
+Lock buffer scrolling
+.RE
+.PP
 \fIscroll_unlock\fR
-T}:T{
-unlock buffer scrolling
-T}
-T{
+.RS 4
+Unlock buffer scrolling
+.RE
+.PP
 \fIscroll_toggle\fR
-T}:T{
-toggle buffer scrolling (lock/unlock)
-T}
-.TE
-.sp
+.RS 4
+Toggle buffer scrolling (lock/unlock)
+.RE
+.PP
+\fIsave\fR filename
+.RS 4
+Save the contents of the current buffer to the file "filename"
+.RE
+.RE
+.PP
+/chat_disable [\-\-show\-roster]
+.RS 4
+Disable chat mode\&.
+
+With \-\-show\-roster, the fullscreen mode will be disabled\&.
 .RE
 .PP
 /clear
 .RS 4
+This command is actually an alias for "/buffer clear"\&. It clears the current buddy chat window\&.
+.RE
+.PP
+/color roster (status wildcard (color|\-)|clear), /color mucnick nick (color|\-), /color muc (jid|\&.|*) [on|preset|off|\-]
+.RS 4
 The
-\fIclear\fR
-command is actually an alias for "/buffer clear".
+\fIcolor\fR
+command allows setting dynamic color properties of the screen\&.
+.PP
+\fIroster\fR clear
+.RS 4
+Remove all color rules for the roster\&. All roster items will get its default color\&.
+.RE
+.PP
+\fIroster\fR status wildcard color
+.RS 4
+Set a color rule (or overwrite, if it already exists)\&. The status is string containing all statuses the roster item can have for the rule to match, or * if any status is OK\&. Wildcard is the file\-matching wildcard that will be applied to JID\&. Color is the wanted color\&. If color is \-, the rule is removed\&. If more than one rule matches, the color from the last created (not overwritten) is used\&.
+.RE
+.PP
+\fImucnick\fR nick (color|\-)
+.RS 4
+Marks the nick to be colored by given color\&. If a MUC has colored nicks, this one will be used\&. If color is \-, the color is marked as chosen automatically, which means it will not be used in
+\fIpreset\fR
+coloring mode, but will stay the same in
+\fIon\fR
+coloring mode\&.
+.RE
+.PP
+\fImuc\fR (jid|\&.|*) [on|preset|off|\-]
+.RS 4
+Sets a MUC nick coloring mode\&. If a jid (\&. means currently selected jid) is provided, the mode will apply to this specific MUC\&. If * is used, it will be applied to all MUCs, except the ones set by their jid\&. Mode
+\fIon\fR
+colors all nicks,
+\fIpreset\fR
+only the ones manually set by /color mucnick command and
+\fIoff\fR
+colors none\&. If not specified, defaults to
+\fIon\fR\&. Mode
+\fI\-\fR
+removes the mode from given JID, which means the global one will apply\&. You can not remove the global mode\&. Default global coloring mode is
+\fIoff\fR\&.
+.RE
+.RE
+.PP
+/connect
+.RS 4
+Establish connection to the Jabber server\&.
+.RE
+.PP
+/del
+.RS 4
+Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours\&.
+.RE
+.PP
+/disconnect
+.RS 4
+Terminate the connection to the Jabber server\&.
+
+Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected\&.
+.RE
+.PP
+/echo message
+.RS 4
+Display "message" in the log window\&.
+.RE
+.PP
+/event #n|* accept|ignore|reject [event\-specific arguments], /event list
+.RS 4
+Tell mcabber what to do about pending events\&.
+
+If the first parameter is
+\fI*\fR, the command will apply to all queued events\&.
+
+Event\-specific arguments will be interpreted on event\-to event basis\&. The only built\-in case, when argument is used is MUC invitation reject \- argument, if present, will be interpreted as reject reason\&.
+.PP
+#N|* accept [event\-specific arguments]
+.RS 4
+Event number #N/All events will be accepted
+.RE
+.PP
+#N|* ignore [event\-specific arguments]
+.RS 4
+Event number #N/All events will be ignored
+.RE
+.PP
+#N|* reject [event\-specific arguments]
+.RS 4
+Event number #N/All events will be rejected
+.RE
+.PP
+\fIlist\fR
+.RS 4
+List all pending events
+.RE
+.RE
+.PP
+/group fold|unfold|toggle [groupname]
+.RS 4
+This command changes the current group display\&.
+.PP
+\fIfold\fR [groupname]
+.RS 4
+Fold (shrink) the current/specified group tree in the roster
+.RE
+.PP
+\fIunfold\fR [groupname]
+.RS 4
+Unfold (expand) the current/specified group tree in the roster
+.RE
+.PP
+\fItoggle\fR [groupname]
+.RS 4
+Toggle the state (fold/unfold) of the current/specified tree
+.RE
+.RE
+.PP
+/help [command|+topic]
+.RS 4
+Display help for command "command" or topic "topic"\&.
+
+Example: "/help buffer"
+.RE
+.PP
+/iline fchar|bchar|char_fdel|char_bdel|char_swap, /iline fword|bword|word_bdel|word_fdel, /iline word_upcase|word_downcase|word_capit, /iline hist_beginning_search_bwd|hist_beginning_search_fwd, /iline hist_prev|hist_next, /iline iline_start|iline_end|iline_fdel|iline_bdel, /iline iline_accept|iline_accept_down_hist, /iline compl_do|compl_cancel, /iline send_multiline
+.RS 4
+Input line commands
+.PP
+\fIfchar\fR
+.RS 4
+Move to the next letter
+.RE
+.PP
+\fIbchar\fR
+.RS 4
+Move to the previous letter
+.RE
+.PP
+\fIchar_fdel\fR
+.RS 4
+Delete the letter at cursor position
+.RE
+.PP
+\fIchar_bdel\fR
+.RS 4
+Delete the letter before cursor position
+.RE
+.PP
+\fIchar_swap\fR
+.RS 4
+Transpose chars
+.RE
+.PP
+\fIfword\fR
+.RS 4
+Move the cursor forward to the end of the current or next word
+.RE
+.PP
+\fIbword\fR
+.RS 4
+Move the cursor back to the start of the current or previous word
+.RE
+.PP
+\fIword_bdel\fR
+.RS 4
+Delete the word from cursor position to its start
+.RE
+.PP
+\fIword_fdel\fR
+.RS 4
+Delete the word from cursor position to its end
+.RE
+.PP
+\fIword_upcase\fR
+.RS 4
+Convert the word from cursor position to its end to upper case
+.RE
+.PP
+\fIword_downcase\fR
+.RS 4
+Convert the word from cursor position to its end to down case
+.RE
+.PP
+\fIword_capit\fR
+.RS 4
+Capitalize the word from cursor position to its end
+.RE
+.PP
+\fIhist_beginning_search_bwd\fR
+.RS 4
+Search backward in the history for a line beginning with the current line up to the cursor (this leaves the cursor in its original position)
+.RE
+.PP
+\fIhist_beginning_search_fwd\fR
+.RS 4
+Search forward in the history for a line beginning with the current line up to the cursor (this leaves the cursor in its original position)
+.RE
+.PP
+\fIhist_prev\fR
+.RS 4
+Previous line of input line history
+.RE
+.PP
+\fIhist_next\fR
+.RS 4
+Next line of input line history
+.RE
+.PP
+\fIiline_start\fR
+.RS 4
+Go to the beginning of the input line
+.RE
+.PP
+\fIiline_end\fR
+.RS 4
+Go to the end of the input line
+.RE
+.PP
+\fIiline_fdel\fR
+.RS 4
+Delete from the cursor to the end of line
 .RE
 .PP
-/help [command]
+\fIiline_bdel\fR
+.RS 4
+Delete from beginning of the line to the cursor
+.RE
+.PP
+\fIiline_accept\fR
+.RS 4
+Accept line
+.RE
+.PP
+\fIiline_accept_down_hist\fR
+.RS 4
+Accept line and put the next history line in the input line
+.RE
+.PP
+\fIcompl_do\fR
+.RS 4
+Complete current word, in the input line
+.RE
+.PP
+\fIcompl_cancel\fR
+.RS 4
+Cancel completion
+.RE
+.PP
+\fIsend_multiline\fR
+.RS 4
+Send/terminate a multi\-line message
+.RE
+.RE
+.PP
+/info
+.RS 4
+Display info on the selected entry (user, agent, group\&...)\&.
+
+For users, resources are displayed with the status, priority and status message (if available) of each resource\&.
+.RE
+.PP
+/module load|unload [\-f] module, /module info module, /module [list]
+.RS 4
+Load, unload or show info on module\&.
+.PP
+\fIload\fR [\-f] module
+.RS 4
+Loads specified module\&. If \-f flag is specified, most of module loading errors will be ignored\&.
+.RE
+.PP
+\fIunload\fR [\-f] module
+.RS 4
+Unloads specified module\&. Note: The force flag will not remove any dependent on this modules!
+.RE
+.PP
+\fIinfo\fR module
+.RS 4
+Shows available information about this module\&.
+.RE
+.PP
+[\fIlist\fR]
+.RS 4
+Lists modules in a format: [modulename] [reference count] ([Manually/Automatically loaded]) [any extra info, like version or dependencies]
+.RE
+.RE
+.PP
+/move [groupname]
+.RS 4
+Move the current buddy to the requested group\&. If no group is specified, then the buddy is moved to the default group\&. If the group "groupname" doesn\(cqt exist, it is created\&.
+
+Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy\&.
+.RE
+.PP
+/msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
+.RS 4
+Send a multi\-line message\&. To write a single message with several lines, the
+\fImulti\-line mode\fR
+should be used\&.
+
+In multi\-line mode, each line (except command lines) typed in the input line will be added to the multi\-line message\&. Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command\&.
+
+The
+\fIbegin\fR
+subcommand enables multi\-line mode\&. Note that it allows a message subject to be specified\&.
+
+The
+\fIverbatim\fR
+multi\-line mode disables commands, so that it is possible to enter lines starting with a slash\&. Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode\&.
+
+The
+\fItoggle\fR
+subcommand can be bound to a key to use the multi\-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta\-Enter combination)\&.
+.PP
+\fIbegin\fR [subject]
+.RS 4
+Enter multi\-line mode
+.RE
+.PP
+\fIverbatim\fR
+.RS 4
+Enter verbatim multi\-line mode
+.RE
+.PP
+\fIsend\fR [\-n|\-h]
+.RS 4
+Send the current multi\-line message to the currently selected buddy
+.RE
+.PP
+\fIsend_to\fR [\-n|\-h] jid
 .RS 4
-Display generic help or help about a specific mcabber command.
+Send the current multi\-line message to "jid"
+.RE
+.PP
+\fItoggle\fR|\fItoggle_verbatim\fR
+.RS 4
+Switch to/from multi\-line mode (begin/send)
+.RE
+.PP
+\fIabort\fR
+.RS 4
+Leave multi\-line mode without sending the message
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+The \-n or \-h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message\&.
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.RE
+.PP
+/otr key, /otr start|stop|info [jid], /otr fingerprint [jid [fpr]], /otr smpq|smpr [jid] secret, /otr smpa [jid]
+.RS 4
+You can use the shortcut\-jid "\&." for the currently selected contact\&.
+.PP
+\fIkey\fR
+.RS 4
+Print the fingerprint of your private key to the Status Buffer
+.RE
+.PP
+\fIstart\fR [jid]
+.RS 4
+Open an OTR channel to the specified jid (or the currently selected contact)
+.RE
+.PP
+\fIstop\fR [jid]
+.RS 4
+Close the OTR channel to the specified jid (or the currently selected contact)
+.RE
+.PP
+\fIinfo\fR [jid]
+.RS 4
+Show current OTR status for the specified jid (or the currently selected contact)
+.RE
+.PP
+\fIfingerprint\fR [jid [fpr]]
+.RS 4
+Show the active fingerprint of an OTR channel\&. If the fingerprint is provided instead of "fpr", the fingerprint will become trusted\&. If you replace "fpr" by some bogus string the fingerprint will loose the trusted status\&.
+.RE
+.PP
+\fIsmpq\fR [jid] secret
+.RS 4
+Initiate the Socialist Millionaires Protocol with the secret and the buddy
+.RE
+.PP
+\fIsmpr\fR [jid] secret
+.RS 4
+Respond to the Initiation of the jid with the secret
+.RE
+.PP
+\fIsmpa\fR [jid]
+.RS 4
+Abort the running Socialist Millionaires Protocol
+.RE
+.RE
+.PP
+/otrpolicy, /otrpolicy (default|jid) (plain|manual|opportunistic|always)
+.RS 4
+You can use the shortcut\-jid "\&." for the currently selected contact\&.
+.PP
+(without arguments)
+.RS 4
+Prints all OTR policies to the status buffer
+.RE
+.PP
+(\fIdefault\fR|\fIjid\fR) (plain|manual|opportunistic|always)
+.RS 4
+Sets either the default policy or the policy for the given jid The plain policy should never be used, because you won\(cqt be able to receive or send any OTR encrypted messages\&. If you set the policy to manual, you or your chat partner have to start the OTR encryption by hand (e\&.g\&. with /otr start)\&. The policy "opportunistic" does that itself by sending a special whitespace\-sequence at the end of unencrypted messages\&. So the other OTR\-enabled chat client knows, that you want to use OTR\&. Note that the first message will always be unencryted, if you use this policy\&. With the policy "always" no message will be sent in plain text\&. If you try to sent the first message unencrypted, mcabber will try to establish an OTR channel\&. Please resend your message, when you get the information that the channel was established\&. If someone sends you plaintext messages while the policy is set to "always", you\(cqll be able to read the message but it won\(cqt be saved to the history\&.
+.RE
+.RE
+.PP
+/pgp disable|enable|force|info [jid], /pgp setkey [jid [key]]
+.RS 4
+This command manipulates PGP settings for the specified jid (by default the currently selected contact)\&.
+
+Please note that PGP encryption won\(cqt be used if no remote PGP support is detected, even if PGP is enabled with this command\&. You can force PGP encryption with the "force" subcommand\&.
+.PP
+\fIdisable\fR [jid]
+.RS 4
+Disable PGP encryption for jid (or the currently selected contact)
+.RE
+.PP
+\fIenable\fR [jid]
+.RS 4
+Enable PGP encryption for jid (or the currently selected contact)
+.RE
+.PP
+\fIforce\fR [jid]
+.RS 4
+Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support\&. If a message can\(cqt be encrypted (missing key or key id), the messages won\(cqt be sent at all\&. This option is ignored when PGP is disabled\&.
+.RE
+.PP
+\fIinfo\fR [jid]
+.RS 4
+Show current PGP settings for the contact
+.RE
+.PP
+\fIsetkey\fR [jid [key]]
+.RS 4
+Set the PGP key to be used to encrypt message for this contact\&. If no key is provided, the current key is erased\&. You can use the shortcut\-jid "\&." for the currently selected contact\&.
+.RE
 .RE
 .PP
 /quit
 .RS 4
-Disconnect and leave
-mcabber(1).
-.RE
-.PP
-/set option[=value]
-.RS 4
-Display or set an option value.
-.RE
-.PP
-/source [file]
-.RS 4
-Read a configuration file.
-.RE
-.PP
-/version
-.RS 4
-Display mcabber version
-.RE
-.SH "COMMANDS RELATED TO THE SERVER AND CONNECTION"
-.PP
-/connect
-.RS 4
-Establish connection to the Jabber server.
-.RE
-.PP
-/disconnect
-.RS 4
-Terminate connection to the Jabber server. Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
-.RE
-.PP
-/event #n|* accept|ignore|reject, /event list
-.RS 4
-Tell mcabber what to do about a pending event. If the first parameter is "*", the command will apply to all queued events.
-.TS
-tab(:);
-l l
-l l
-l l
-l l.
-T{
-\fIaccept\fR
-T}:T{
-accept the event #n
-T}
-T{
-\fIignore\fR
-T}:T{
-remove the event #n from the list
-T}
-T{
-\fIreject\fR
-T}:T{
-reject the event #n
-T}
-T{
-\fIlist\fR
-T}:T{
-list all pending events
-T}
-.TE
-.sp
+This command closes all connections and quit mcabber\&.
 .RE
 .PP
 /rawxml send string
 .RS 4
+Send "string" (raw XML format) to the Jabber server\&.
 
-\fIsend\fR
-string: send string (raw XML format) to the Jabber server. No check is done on the string provided. BEWARE! Use this only if you know what you are doing, or you could terminate the connection.
-.RE
-.SH "COMMANDS RELATED TO THE ROSTER AND JABBER RESOURCES"
-.PP
-/add [jid [nickname]]
-.RS 4
-Add the "jid" Jabber user to our roster (default group), and send a notification request to this buddy. If no nickname is specified, the jid is used. If no jid (or an empty string "") is provided or if jid is ".", the current buddy is used.
-.RE
-.PP
-/authorization allow|cancel|request|request_unsubscribe [jid]
-.RS 4
-Manage the presence subscriptions. If no jid is provided, the current buddy is used.
-.TS
-tab(:);
-l l
-l l
-l l
-l l.
-T{
-\fIallow\fR
-T}:T{
-allow the buddy to receive your presence updates
-T}
-T{
-\fIcancel\fR
-T}:T{
-cancel the buddy' subscription to your presence updates
-T}
-T{
-\fIrequest\fR
-T}:T{
-request a subscription to the buddy's presence updates
-T}
-T{
-\fIrequest_unsubscribe\fR
-T}:T{
-request unsubscription from the buddy's presence updates
-T}
-.TE
-.sp
-.RE
-.PP
-/del
-.RS 4
-Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
-.RE
-.PP
-/group fold|unfold|toggle
-.RS 4
-The
-\fIgroup\fR
-command changes the current group display.
-.TS
-tab(:);
-l l
-l l
-l l.
-T{
-\fIfold\fR
-T}:T{
-fold (shrink) the current group tree in the roster
-T}
-T{
-\fIunfold\fR
-T}:T{
-unfold (expand) the current group tree in the roster
-T}
-T{
-\fItoggle\fR
-T}:T{
-toggle the state (fold/unfold) of the current tree
-T}
-.TE
-.sp
-.RE
-.PP
-/info
-.RS 4
-Display info on the selected entry (user, agent, group\&...). For users, resources are displayed with the status, priority and status message (if available) of each resource.
-.RE
-.PP
-/move [groupname]
-.RS 4
-Move the current buddy to the requested group. If no group is specified, then the buddy is moved to the default group. If the group groupname doesn't exist, it is created. Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
-.RE
-.PP
-/msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
-.RS 4
-Send a multi\-line message. To write a single message with several lines, the
-\fImulti\-line mode\fR
-should be used. In multi\-line mode, each line (except command lines) typed in the input line will be added to the multi\-line message. Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command (or Ctrl\-d). The
-\fIbegin\fR
-subcommand enables multi\-line mode. Note that it allows a message subject to be specified. The
-\fIverbatim\fR
-multi\-line mode disables commands, so that it is possible to enter lines starting with a slash. Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode. The
-\fItoggle\fR
-and
-\fItoggle_verbatim\fR
-subcommands can be bound to a key to use the multi\-line mode quickly (for example, "bind M109 = msay toggle" to switch using the Meta\-m combination).
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l
-l l
-l l.
-T{
-\fIbegin\fR
-[subject]
-T}:T{
-enter multi\-line mode
-T}
-T{
-\fIverbatim\fR
-T}:T{
-enter verbatim multi\-line mode
-T}
-T{
-\fIsend\fR
-T}:T{
-send the current multi\-line message to the currently selected buddy
-T}
-T{
-\fIsend_to\fR
-jid
-T}:T{
-send the current multi\-line message to "jid"
-T}
-T{
-\fItoggle\fR
-T}:T{
-switch to/from multi\-line mode (begin/send)
-T}
-T{
-\fItoggle_verbatim\fR
-T}:T{
-same with verbatim multi\-line mode
-T}
-T{
-\fIabort\fR
-T}:T{
-leave multi\-line mode without sending the message
-T}
-.TE
-.sp
-.RE
-.PP
-/pgp disable|enable|force|info [jid], /pgp setkey [jid [key]]
-.RS 4
-Manipulate PGP settings for the specified jid (by default the currently selected contact). Please note that PGP encryption won't be used if no remote PGP support is detected, even if PGP is enabled with this command.
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l.
-T{
-\fIdisable\fR
-[jid]
-T}:T{
-disable PGP encryption for jid (or the currently selected contact)
-T}
-T{
-\fIenable\fR
-[jid]
-T}:T{
-enable PGP encryption for jid (or the currently selected contact)
-T}
-T{
-\fIforce\fR
-[jid]
-T}:T{
-enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support
-T}
-T{
-\fIinfo\fR
-[jid]
-T}:T{
-show current PGP settings for the contact
-T}
-T{
-\fIsetkey\fR
-[jid [key]]
-T}:T{
-set the PGP key to be used to encrypt message for this contact. If no key is provided, the current key is erased. You can use the shortcut\-jid "." for the currently selected contact.
-T}
-.TE
-.sp
+No check is done on the string provided\&.
+
+BEWARE! Use this only if you know what you are doing, or you could terminate the connection\&.
+
+Example: "/rawxml send <presence><show>away</show></presence>"
 .RE
 .PP
 /rename name
 .RS 4
-Rename current buddy or group to the given name. Please note that a group name change is only done when the server's acknowledgment is received, so a slight delay can be noticed.
+Rename the current buddy or group to the given "name"\&. If "name" is \-, the name is removed from the roster (and mcabber will display the JID or username)\&.
+.RE
+.PP
+/request last|ping|time|vcard|version [jid]
+.RS 4
+Send a "IQ" query to the current buddy, or to the specified Jabber user\&. If the resource is not provided with the jid, mcabber will send the query to all known resources for this user\&.
+.PP
+\fIlast\fR
+.RS 4
+Request "last" information (usually idle time)
+.RE
+.PP
+\fIping\fR
+.RS 4
+Send an XMPP Ping request\&. Note that you should use the full JID since a ping sent to a bare JID will be handled by the server\&.
 .RE
 .PP
-/request last|time|vcard|version [jid]
+\fItime\fR
 .RS 4
-Send a "IQ" query to the current buddy, or to the specified Jabber user. If the resource is not provided with the jid, mcabber will send the query to all known resources for this user.
+Request time from the buddy
 .RE
 .PP
-/room join|leave|names|nick|privmsg|remove|topic|unlock|destroy, /room invite|kick|ban|role|affil, /room bookmark [add|del] [\-autojoin|+autojoin]
+\fIvcard\fR
+.RS 4
+Request VCard from the buddy
+.RE
+.PP
+\fIversion\fR
+.RS 4
+Request version from the buddy
+.RE
+.RE
+.PP
+/room join|leave|names|nick|remove|topic|unlock|destroy, /room privmsg|invite|whois|kick|ban|unban|role|affil, /room setopt print_status|auto_whois [value], /room bookmark [add|del] [\-autojoin|+autojoin] [\-|nick]
 .RS 4
 The
 \fIroom\fR
-command handles Multi\-User Chat room actions.
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l.
-T{
-\fIjoin\fR
-[room [nick [pass]]]
-T}:T{
-join "room", using "nick" as nickname. If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file). If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "." can be used instead of the full room id. A password can be provided to enter protected rooms. If your nickname contains space characters, use quotes.
-T}
-T{
-\fIwhois\fR
-nick
-T}:T{
-display MUC information about "nick"
-T}
-T{
-\fIban\fR
-jid [reason]
-T}:T{
-ban jid from the current room
-T}
-T{
-\fIinvite\fR
-jid [reason]
-T}:T{
-invite jid to the current room
-T}
-T{
-\fIkick\fR
-nick [reason]
-T}:T{
-kick "nick" from the current room
-T}
-T{
-\fIrole\fR
-jid role [reason]
-T}:T{
-change jid's role (role can be "none", "visitor", "participant", "moderator")
-T}
-T{
-\fIaffil\fR
-jid affil [reason]
-T}:T{
-change jid's affiliation (affil can be "none", "member", "admin", "owner")
-\fIbookmark\fR
-add/update/remove a room bookmark, set/unset autojoin
-T}
-T{
-\fIleave\fR
-[message]
-T}:T{
-leave the current room
-T}
-T{
-\fInames\fR
-[\-\-detail|\-\-short|\-\-quiet]
-T}:T{
-display the members of the current room
-T}
-T{
-\fInick\fR
-nick
-T}:T{
-change your nickname in the current room
-T}
-T{
-\fIprivmsg\fR
-nick msg
-T}:T{
-send private message "msg" to "nick"
-T}
-T{
+command handles Multi\-User Chat room actions\&.
+.PP
+\fIjoin\fR [room [nick [pass]]]
+.RS 4
+Join "room", using "nick" as nickname\&. If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file)\&. If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "\&." can be used instead of the full room id\&. A password can be provided to enter protected rooms\&. If your nickname contains space characters, use quotes\&.
+.RE
+.PP
+\fIleave\fR [message]
+.RS 4
+Leave the current room
+.RE
+.PP
+\fInames\fR [\-\-detail|\-\-short|\-\-quiet|\-\-compact]
+.RS 4
+Display members of the current room
+.RE
+.PP
+\fInick\fR newnick
+.RS 4
+Change your nickname in the current room
+.RE
+.PP
+\fIprivmsg\fR nick msg
+.RS 4
+Send private message "msg" to "nick"
+.RE
+.PP
 \fIremove\fR
-T}:T{
-remove the current room from the roster (you must have left this room before)
-T}
-T{
-\fItopic\fR
-T}:T{
-set topic for current room
-T}
-T{
+.RS 4
+Remove the current room from the roster (you must have left this room before)
+.RE
+.PP
+\fItopic\fR \-|newtopic
+.RS 4
+Set topic for current room
+.RE
+.PP
 \fIunlock\fR
-T}:T{
-unlock current room (if you are the owner)
-T}
-T{
-\fIdestroy\fR
-[reason]
-T}:T{
-destroy the current room (use with care!)
-T}
-.TE
-.sp
+.RS 4
+Unlock current room (if you are the owner)
+.RE
+.PP
+\fIdestroy\fR [reason]
+.RS 4
+Destroy the current room (use with care!)
 .RE
 .PP
-/roster bottom|top|up|down|group_prev|group_next, /roster alternate|unread_first|unread_next, /roster search bud, /roster hide_offline|show_offline|toggle_offline, /roster item_lock|item_unlock, /roster hide|show|toggle, /roster note [\-|text]
+\fIwhois\fR nick
+.RS 4
+Display MUC information about "nick"
+.RE
+.PP
+\fIban\fR jid [reason]
+.RS 4
+Ban jid from the current room
+.RE
+.PP
+\fIunban\fR jid
+.RS 4
+Unban jid from the current room
+.RE
+.PP
+\fIinvite\fR jid [reason]
+.RS 4
+Invite jid to the current room
+.RE
+.PP
+\fIkick\fR nick [reason]
+.RS 4
+Kick "nick" from the current room
+.RE
+.PP
+\fIrole\fR jid role [reason]
+.RS 4
+Change jid\(cqs role (role can be "none", "visitor", "participant", "moderator")
+.RE
+.PP
+\fIaffil\fR jid affil [reason]
+.RS 4
+Change jid\(cqs affiliation (affil can be "none", "member", "admin", "owner")
+.RE
+.PP
+\fIsetopt\fR print_status|auto_whois [value]
+.RS 4
+Change settings for the current room For print_status, the possible values are "default", "none", "in_and_out", "all"\&. For auto_whois, the possible values are "default", "off", "on"\&. When the value is "default", the options muc_print_status / muc_auto_whois is used\&.
+.RE
+.PP
+\fIbookmark\fR [add|del] [\-autojoin|+autojoin] [\-|nick]
+.RS 4
+Add, remove or update a bookmark (default is add)\&. If autojoin is set, mcabber will automatically join the MUC room when it connects to the server\&. To see the list of bookmarks, use /room bookmark in the status buffer\&.
+.RE
+.RE
+.PP
+/roster bottom|top|up|down|group_prev|group_next, /roster alternate|unread_first|unread_next, /roster search bud, /roster display|hide_offline|show_offline|toggle_offline, /roster item_lock|item_unlock|item_toggle_lock, /roster hide|show|toggle, /roster note [\-|text]
 .RS 4
 The
 \fIroster\fR
-command manipulates the roster/buddylist. Here are the available parameters:
-.TS
-tab(:);
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l
-l l.
-T{
+command manipulates the roster/buddylist\&.
+
+Here are the available parameters:
+.PP
 \fIbottom\fR
-T}:T{
-jump to the bottom of the roster
-T}
-T{
-\fIsearch\fR
-bud
-T}:T{
-search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
-T}
-T{
+.RS 4
+Jump to the bottom of the roster
+.RE
+.PP
+\fItop\fR
+.RS 4
+Jump to the top of the roster
+.RE
+.PP
+\fIup\fR [n]
+.RS 4
+Move up [n lines] in the roster
+.RE
+.PP
+\fIdown\fR [n]
+.RS 4
+Move down [n lines] in the roster
+.RE
+.PP
+\fIgroup_prev\fR
+.RS 4
+Jump to the previous group in the roster
+.RE
+.PP
+\fIgroup_next\fR
+.RS 4
+Jump to the next group in the roster
+.RE
+.PP
+\fIalternate\fR
+.RS 4
+Jump to alternate buddy\&. The "alternate" buddy is the last buddy left while being in chat mode\&. This command is thus especially useful after commands like "/roster unread_next" (Ctrl\-q)\&.
+.RE
+.PP
+\fIunread_first\fR
+.RS 4
+Jump to the first unread message
+.RE
+.PP
+\fIunread_next\fR
+.RS 4
+Jump to the next unread message
+.RE
+.PP
+\fIsearch\fR bud
+.RS 4
+Search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
+.RE
+.PP
+\fIdisplay\fR [mask]
+.RS 4
+See or update the roster filter\&. The mask should contain the shortcut letters of the status you want to see ([o]nline, [f]ree_for_chat, [d]o_not_disturb, [n]ot_available, [a]way, [_]offline)\&. For example "ofdna" to display only connected buddies\&.
+.RE
+.PP
 \fIhide_offline\fR
-T}:T{
-hide offline buddies
-T}
-T{
+.RS 4
+Hide offline buddies (same as /roster display ofdna)
+.RE
+.PP
 \fIshow_offline\fR
-T}:T{
-show offline buddies
-T}
-T{
+.RS 4
+Show offline buddies (same as /roster display ofdna_)
+.RE
+.PP
 \fItoggle_offline\fR
-T}:T{
-toggle display of offline buddies
-T}
-T{
-\fIitem_lock\fR
-jid
-T}:T{
-lock the roster item so it remains visible regardless of its status
-T}
-T{
-\fIitem_unlock\fR
-jid
-T}:T{
-undo the effects of item_lock
-T}
-T{
+.RS 4
+Toggle display of offline buddies
+.RE
+.PP
+\fIitem_lock\fR [jid]
+.RS 4
+Lock the roster item so it remains visible regardless of its status
+.RE
+.PP
+\fIitem_unlock\fR [jid]
+.RS 4
+Undo the effects of item_lock
+.RE
+.PP
+\fIitem_toggle_lock\fR [jid]
+.RS 4
+Invert the current lock flag
+.RE
+.PP
 \fIhide\fR
-T}:T{
-hide roster (full\-width chat window)
-T}
-T{
+.RS 4
+Hide roster (full\-width chat window)
+.RE
+.PP
 \fIshow\fR
-T}:T{
-show roster
-T}
-T{
+.RS 4
+Show roster
+.RE
+.PP
 \fItoggle\fR
-T}:T{
-toggle roster visibility
-T}
-T{
-\fInote\fR
-[text]
-T}:T{
-display or set an annotation (if text is "\-", the annotation is deleted). In the "status" buffer, it will display all annotations.
-T}
-T{
-\fItop\fR
-T}:T{
-jump to the top of the roster
-T}
-T{
-\fIup\fR
-T}:T{
-move up in the roster
-T}
-T{
-\fIdown\fR
-T}:T{
-move down in the roster
-T}
-T{
-\fIgroup_prev\fR
-T}:T{
-jump to the previous group in the roster
-T}
-T{
-\fIgroup_next\fR
-T}:T{
-jump to the next group in the roster
-T}
-T{
-\fIalternate\fR
-T}:T{
-jump to alternate buddy. The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first")
-T}
-T{
-\fIunread_first\fR
-T}:T{
-jump to the first unread message
-T}
-T{
-\fIunread_next\fR
-T}:T{
-jump to the next unread message
-T}
-.TE
-.sp
+.RS 4
+Toggle roster visibility
 .RE
 .PP
-/say text
+\fInote\fR [\-|text]
 .RS 4
-Send the "text" message to the currently selected buddy. Can be useful if you want to send a message beginning with a slash, for example.
+Set/update/delete an annotation\&. If there is no text, the current item\(cqs annotation is displayed \(em if you are in the status buffer, all notes are displayed\&. If text is "\-", the note is erased\&.
+.RE
+.RE
+.PP
+/say [\-n|\-h|\-\-] text
+.RS 4
+Send the "text" message to the currently selected buddy\&. It can be useful if you want to send a message beginning with a slash, for example\&.
+
+The "\-n" flag turns the message to "normal" type, "\-h" to "headline"\&. "\-\-" can be used to send chat message beginning with \-n or \-h\&.
 .RE
 .PP
-/say_to jid text
+/say_to [\-n|\-h] [\-q] [\-f file] jid text
 .RS 4
-Send the "text" message to the specified jid. Please note that this command doesn't set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use "/say_to" for each message.
+Send the "text" message to the specified jid\&.
+
+Please note that this command doesn\(cqt set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use "/say_to" for each message\&.
+
+The "\-n" flag turns the message to "normal" type, "\-h" to "headline"\&. "\-\-" can be used to send chat messages beginning with \-n or \-h\&.
+
+When "\-q" is used, the message will be sent in the background and will not change the current active window\&.
+
+A text file can be provided with the "\-f" switch (in which case there\(cqs no need to pass a text argument after the jid, of course)\&.
+.RE
+.PP
+/screen_refresh
+.RS 4
+Refresh the mcabber screen\&.
 .RE
 .PP
-/status [online|avail|invisible|free|dnd|notavail|away [\-|StatusMessage]]
+/set option [= value]
 .RS 4
-Show or set the current status.
-If no status is specified, display the current status.
-If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file). If no relevant message* variable is set and no status message provided, the current status message is kept. If StatusMessage is "\-", the current status message is cleared.
+Display or set an option value\&.
+.RE
+.PP
+/source pattern
+.RS 4
+Read configuration files, that match glob pattern (sorted in alphabetical order)\&.
 .RE
 .PP
-/status_to jid online|avail|invisible|free|dnd|notavail|away [StatusMessage]
+/status [online|avail|invisible|free|dnd|notavail|away [\-|statusmessage]], /status message \-|statusmessage
 .RS 4
-Send the requested status to the specified Jabber user.
-If the specified jid is ".", the current buddy is used.
-Note: this status will be overridden by subsequent "/status" commands. If you are using the auto\-away feature, the status will overridden too. Note: The jid can include a resource (i.e. user@server/resource).
+Show or set the current status\&.
+
+If no status is specified, display the current status\&.
+
+If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file)\&.
+
+If no relevant message* variable is set and no status message provided, the current status message is kept\&.
+
+If StatusMessage is "\-", the current status message is cleared\&.
+
+With the "/status message" command, mcabber will update the message while preserving the status\&.
+.RE
+.PP
+/status_to jid online|avail|invisible|free|dnd|notavail|away [statusmessage], /status_to jid message statusmessage
+.RS 4
+Send the requested status to the specified Jabber user\&.
+
+If the specified jid is "\&.", the current buddy is used\&.
+
+Note: this status will be overridden by subsequent "/status" commands\&. If you are using the auto\-away feature, the status will overridden too\&.
+
+Note: The jid can include a resource (i\&.e\&. user@server/resource)\&.
+.RE
+.PP
+/version
+.RS 4
+Display current version of mcabber\&.
 .RE
 .SH "CONFIGURATION FILE"
-See the provided sample configuration file, which should be self\-documenting.
 .sp
+See the provided sample configuration file, which should be self\-documenting\&.
 .SH "FILES"
+.sp
 The following files can be used by mcabber(1):
 .sp
-.sp
+.if n \{\
 .RS 4
+.\}
 .nf
-$HOME/.mcabber/mcabberrc    Default configuration file
-$HOME/.mcabberrc            Configuration file used if no other has been found
-$HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled
+$HOME/\&.mcabber/mcabberrc    Default configuration file
+$HOME/\&.mcabberrc            Configuration file used if no other has been found
+$HOME/\&.mcabber/histo/       Default directory for storing chat history files, if enabled
+/usr/share/mcabber/help/    Default directory for online help files
+/usr/lib/mcabber/           Default directory for modules
 .fi
+.if n \{\
 .RE
+.\}
 .SH "BUGS"
-Certainly. Please tell me if you find one! :\-)
 .sp
+Certainly\&. Please tell me if you find one! :\-) Please visit our website to find out about the MUC room and the bug tracker\&.
 .SH "AUTHOR"
-Written by \fIMikael BERTHE\fR\&[1]. Originally based on \fICabber\fR\&[2], please consult the AUTHORS file for details.
 .sp
+Written by \m[blue]\fBMikael BERTHE\fR\m[]\&\s-2\u[1]\d\s+2 and others (see AUTHORS file)\&.
 .SH "RESOURCES"
-\fIMain web site\fR\&[3]
 .sp
+\m[blue]\fBMain web site\fR\m[]\&\s-2\u[2]\d\s+2
 .SH "COPYING"
-Copyright (C) 2005, 2006, 2007, 2008 Mikael Berthe. Some portions are Copyright (C) 2002\-2004 \fIcabber@ajmacias.com\fR\&[4].
+.sp
+Copyright (C) 2005\-2010 Mikael Berthe and others\&.
 .sp
-Free use of this software is granted under the terms of the GNU General Public License (GPL).
-.sp
-.SH "REFERENCES"
+Free use of this software is granted under the terms of the GNU General Public License (GPL)\&.
+.SH "NOTES"
 .IP " 1." 4
 Mikael BERTHE
 .RS 4
-\%mailto:mcabber@lilotux.net
+\%mailto:mikael@lilotux.net
 .RE
 .IP " 2." 4
-Cabber
-.RS 4
-\%http://cabber.sourceforge.net
-.RE
-.IP " 3." 4
 Main web site
 .RS 4
-\%http://www.lilotux.net/~mikael/mcabber/
+\%http://mcabber.com/
 .RE
-.IP " 4." 4
-cabber@ajmacias.com
-.RS 4
-\%mailto:cabber@ajmacias.com
-.RE
--- a/mcabber/doc/mcabber.1.html	Sat Mar 13 14:51:13 2010 +0100
+++ b/mcabber/doc/mcabber.1.html	Sat Mar 13 18:05:07 2010 +0100
@@ -1,1321 +1,2623 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<meta name="generator" content="AsciiDoc 8.2.1" />
-<meta name="author" content="Mikael BERTHE" />
-<meta name="author-email" content="mcabber@lilotux.net" />
-<link rel="stylesheet" href="./manpage.css" type="text/css" />
-<title>mcabber</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.5.2" />
+<title>MCABBER(1)</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revnumber, span#revdate, span#revremark {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.0em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.0em;
+  margin-bottom: 2.0em;
+  margin-right: 10%;
+  color: #606060;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+  padding-left: 1.0em;
+  margin-left: 1.0em;
+  margin-right: 10%;
+  border-left: 5px solid #dddddd;
+  color: #777777;
+}
+
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+  border-left: 3px solid #dddddd;
+  padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; }
+a.image:visited { color: white; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead, p.table.header {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+.footnote, .footnoteref {
+  font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+  vertical-align: super;
+}
+
+#footnotes {
+  margin: 20px 0 20px 0;
+  padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+  margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+  border: none;
+  border-top: 1px solid silver;
+  height: 1px;
+  text-align: left;
+  margin-left: 0;
+  width: 20%;
+  min-width: 100px;
+}
+
+
+@media print {
+  div#footer-badges { display: none; }
+}
+
+div#toc {
+  margin-bottom: 2.5em;
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Overrides for manpage documents */
+h1 {
+  padding-top: 0.5em;
+  padding-bottom: 0.5em;
+  border-top: 2px solid silver;
+  border-bottom: 2px solid silver;
+}
+h2 {
+  border-style: none;
+}
+div.sectionbody {
+  margin-left: 5%;
+}
+
+@media print {
+  div#toc { display: none; }
+}
+
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 3px solid #dddddd;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){asciidoc.footnotes();}
+var asciidoc = {  // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+  function getText(el) {
+    var text = "";
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+        text += i.data;
+      else if (i.firstChild != null)
+        text += getText(i);
+    }
+    return text;
+  }
+
+  function TocEntry(el, text, toclevel) {
+    this.element = el;
+    this.text = text;
+    this.toclevel = toclevel;
+  }
+
+  function tocEntries(el, toclevels) {
+    var result = new Array;
+    var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+    // Function that scans the DOM tree for header elements (the DOM2
+    // nodeIterator API would be a better technique but not supported by all
+    // browsers).
+    var iterate = function (el) {
+      for (var i = el.firstChild; i != null; i = i.nextSibling) {
+        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+          var mo = re.exec(i.tagName);
+          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+          }
+          iterate(i);
+        }
+      }
+    }
+    iterate(el);
+    return result;
+  }
+
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementById("content"), toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "_toc_" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+  var cont = document.getElementById("content");
+  var noteholder = document.getElementById("footnotes");
+  var spans = cont.getElementsByTagName("span");
+  var refs = {};
+  var n = 0;
+  for (i=0; i<spans.length; i++) {
+    if (spans[i].className == "footnote") {
+      n++;
+      // Use [\s\S] in place of . so multi-line matches work.
+      // Because JavaScript has no s (dotall) regex flag.
+      note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+      noteholder.innerHTML +=
+        "<div class='footnote' id='_footnote_" + n + "'>" +
+        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+        n + "</a>. " + note + "</div>";
+      spans[i].innerHTML =
+        "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+        "' title='View footnote' class='footnote'>" + n + "</a>]";
+      var id =spans[i].getAttribute("id");
+      if (id != null) refs["#"+id] = n;
+    }
+  }
+  if (n == 0)
+    noteholder.parentNode.removeChild(noteholder);
+  else {
+    // Process footnoterefs.
+    for (i=0; i<spans.length; i++) {
+      if (spans[i].className == "footnoteref") {
+        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+        href = href.match(/#.*/)[0];  // Because IE return full URL.
+        n = refs[href];
+        spans[i].innerHTML =
+          "[<a href='#_footnote_" + n +
+          "' title='View footnote' class='footnote'>" + n + "</a>]";
+      }
+    }
+  }
+}
+
+}
+/*]]>*/
+</script>
 </head>
 <body>
-<div id="content">
-<h1>MCABBER(1) Manual Page</h1>
+<div id="header">
+<h1>
+MCABBER(1) Manual Page
+</h1>
 <h2>NAME</h2>
+<div class="sectionbody">
 <p>mcabber -
-   a simple Jabber console client
+   a simple Jabber (XMPP) console client
 </p>
-<div id="synopsis">
-<h2>SYNOPSIS</h2>
-<p><b>mcabber</b> [ -h | -V | -f configfile ]</p>
+</div>
+</div>
+<div id="content">
+<h2 id="_synopsis">SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><em>mcabber</em> [ -h | -V | -f configfile ]</p></div>
 </div>
-<h2>DESCRIPTION</h2>
-<p><tt>mcabber(1)</tt> is a small Jabber console client.<br />
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><tt>mcabber(1)</tt> is a small Jabber (XMPP) console client.<br />
 For now it needs a configuration file to start, so please copy the sample
-mcabberrc file and adapt your connection settings.</p>
-<p>You also need to have an existing Jabber account to use this software, as
-it cannot (un)register accounts yet.</p>
-<p>Here are some of the features of <tt>mcabber</tt>:</p>
-<ul>
+mcabberrc file and adapt your connection settings.</p></div>
+<div class="paragraph"><p>You also need to have an existing Jabber account to use this software, as
+it cannot (un)register accounts yet.</p></div>
+<div class="paragraph"><p>Here are some of the features of <tt>mcabber</tt>:</p></div>
+<div class="ulist"><ul>
 <li>
 <p>
-<b>SSL/TLS support</b>.
+<em>SASL/SSL/TLS support</em>.
 </p>
 </li>
 <li>
 <p>
-<b>MUC support</b> (Multi-User Chat).
+<em>MUC support</em> (Multi-User Chat).
 </p>
 </li>
 <li>
 <p>
-<b>PGP support</b>
+<em>PGP, OTR support</em>
 </p>
 </li>
 <li>
 <p>
-<b>Chat States</b> support (typing notifications)
+<em>Chat States</em> support (typing notifications)
 </p>
 </li>
 <li>
 <p>
-<b>History logging:</b>  If enabled (see the CONFIGURATION FILE section),
-  <tt>mcabber</tt> can save discussions to history log files.
+<em>History logging:</em>  If enabled (see the CONFIGURATION FILE section),
+  <tt>mcabber</tt> can save discussions to text history log files.
 </p>
 </li>
 <li>
 <p>
-<b>Commands completion:</b>  If possible, <tt>mcabber</tt> will try to complete your
+<em>Commands completion:</em>  If possible, <tt>mcabber</tt> will try to complete your
   command line if you hit the Tab key.
 </p>
 </li>
 <li>
 <p>
-<b>Input line history:</b>  Any message or command entered is in the input line
+<em>Input line history:</em>  Any message or command entered is in the input line
   history and can be reused easily.
 </p>
 </li>
 <li>
 <p>
-<b>External actions:</b>  Some events (like receiving a message) can trigger an
+<em>External actions:</em>  Some events (like receiving a message) can trigger an
   external action such as a shell script if you enable it in your
   configuration file.  A sample events script ("eventcmd") is provided with
   <tt>mcabber</tt> source code, in the contrib directory.
 </p>
 </li>
-</ul>
-<h2>OPTIONS</h2>
-<dl>
-<dt><b>
---help, -h
-</b></dt>
+<li>
+<p>
+<em>Modules:</em>  <tt>mcabber</tt> can load modules (a.k.a. plugins) at runtime that
+  extend its features.
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="_options">OPTIONS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+-h
+</dt>
 <dd>
+<p>
         Quick help usage message
+</p>
 </dd>
-<dt><b>
+<dt class="hdlist1">
+-V
+</dt>
+<dd>
+<p>
+        Displays <tt>mcabber</tt> version and compile-time definitions.
+</p>
+</dd>
+<dt class="hdlist1">
 -f configfile
-</b></dt>
+</dt>
 <dd>
-        Use configuration file <b>configfile</b>
+<p>
+        Use configuration file <em>configfile</em>
+</p>
 </dd>
-</dl>
-<h2>WINDOWS/PANES</h2>
-<p>The <tt>mcabber(1)</tt> screen is divided into 4 regions.
-The <b>roster</b>, alias <b>buddylist</b>, is on the left.  The <b>chat window</b>, or chat
-buffer, is on the right.  The <b>input line</b> lies at the bottom of the screen,
-under a small <b>log window</b>.</p>
-<p>Two status lines surround the log window.  The bottom status line is the
+</dl></div>
+</div>
+<h2 id="_windows_panes">WINDOWS/PANES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <tt>mcabber(1)</tt> screen is divided into 4 regions.
+The <em>roster</em>, alias <em>buddylist</em>, is on the left.  The <em>chat window</em>, or chat
+buffer, is on the right.  The <em>input line</em> lies at the bottom of the screen,
+under a small <em>log window</em>.</p></div>
+<div class="paragraph"><p>Two status lines surround the log window.  The bottom status line is the
 "main status line" and reflects mcabber general status.  The other line
 is the "chat status line" and shows the status of the currently selected
-buddy.</p>
-<p>To display buddies chat buffers, you will have to enter <b>chat mode</b>.
+buddy.</p></div>
+<div class="paragraph"><p>To display buddies chat buffers, you will have to enter <em>chat mode</em>.
 You can enter chat mode by pressing enter, and leave chat mode with the ESC
-key.  Simply sending a message will also enable chat mode.</p>
-<p>There are several advantages to the two-mode implementation: first, it allows
+key.  Simply sending a message will also enable chat mode.</p></div>
+<div class="paragraph"><p>There are several advantages to the two-mode implementation: first, it allows
 accurate "unread" message functionality, as described in the next section;
 without this, merely scrolling to a specific buddy will "read" the new
 messages of all buddies in-between.  Second, it allows quickly hiding the
 conversation with a single keystroke.  Third, it allows jumping between
-the few buddies with whom you are conversing with the <b>/roster alternate</b>
+the few buddies with whom you are conversing with the <em>/roster alternate</em>
 command described in another section, without having to manually scroll
-back and forth.</p>
-<h2>KEYS</h2>
-<p>Text typing occurs in the <b>input line</b>; basic operations are supported
-(left arrow, right arrow, home/end keys, insert, delete, backspace&#8230;).</p>
-<p>PageUp and PageDown keys are used to move in the roster.</p>
-<p>Up and Down arrow keys can be used to move in the input line history; they
+back and forth.</p></div>
+</div>
+<h2 id="_keys">KEYS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Text typing occurs in the <em>input line</em>; basic operations are supported
+(left arrow, right arrow, home/end keys, insert, delete, backspace&#8230;).</p></div>
+<div class="paragraph"><p>PageUp and PageDown keys are used to move in the roster.</p></div>
+<div class="paragraph"><p>Up and Down arrow keys can be used to move in the input line history; they
 jump to the previous/next line from the history beginning with the same string
-(from first column to the cursor column).</p>
-<p>To send a message, move to the choosen buddy in the buddylist, type your
+(from first column to the cursor column).</p></div>
+<div class="paragraph"><p>To send a message, move to the chosen buddy in the buddylist, type your
 message and hit enter.  If the line begins with a slash, this will be
 interpreted as a command (see the COMMAND section below).  Hit escape to
-leave the chat mode.</p>
-<p>Here is a quick description of the key bindings:</p>
-<table class="hlist">
-<tr valign="top">
-<td>
+leave the chat mode.</p></div>
+<div class="paragraph"><p>Here is a quick description of the default key bindings:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
 Esc
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Disable chat mode
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-a
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Go to the beginning of the input line
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-e
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Go to the end of the input line
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-l
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Force a refresh
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Up/Down
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Move in the input line history
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 PgUp/PgDown
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Move inside the roster (buddylist)
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Tab
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Complete current word, in the input line
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-g
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Cancel completion
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-c
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Abort multi-line messages and completions
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-d
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Send/terminate a multi-line message
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-p/Ctrl-n
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Scroll up/down half a screen in the buffer window (chat mode)
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-Left
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Move the cursor back to the start of the current or previous word
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-Right
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Move the cursor forward to the end of the current or next word
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-u
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Delete from beginning of the line to the cursor
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-k
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Delete from the cursor to the end of line
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-w
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Backward kill word
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-t
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Transpose chars
-</td>
-</tr>
-<tr valign="top">
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
 Ctrl-o
-</td>
-<td>
+</dt>
+<dd>
+<p>
 Accept line and put the next history line in the input line (accept-line-and-down-history)
-</td>
-</tr>
-</table>
-<p>Additional key bindings may be specified using the <b>/bind</b> command described
-in the COMMANDS section.</p>
-<h2>MCABBER'S ROSTER</h2>
-<p>The first listed resource on the roster is <b>[status]</b>, which keeps a log of
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Additional key bindings may be specified using the <em>/bind</em> command described
+in the COMMANDS section.</p></div>
+</div>
+<h2 id="_mcabber_8217_s_roster">MCABBER&#8217;S ROSTER</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The first listed resource on the roster is <em>[status]</em>, which keeps a log of
 everything that appears in the short log window below the main chat area.
 While the log window was designed for showing the latest few elements, the
-dedicated <b>[status]</b> buffer allows more comfortable viewing of the log, as
-well as scrolling it in a standard manner.</p>
-<p>Group names are displayed above the resources that are within them, and are
-indicated by <b>---</b> to the left of the name.</p>
-<p>For every real Jabber resource, the roster displays four pieces of information:
-the resource's name or alias, its online status, its authorization status, and
-whether there are unread messages from the resource waiting for you.</p>
-<p>The online status is one of the following:</p>
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>o</b>
-</td>
-<td>
+dedicated <em>[status]</em> buffer allows more comfortable viewing of the log, as
+well as scrolling it in a standard manner.</p></div>
+<div class="paragraph"><p>Group names are displayed above the resources that are within them, and are
+indicated by <em>---</em> to the left of the name.</p></div>
+<div class="paragraph"><p>For every real Jabber resource, the roster displays four pieces of information:
+the resource&#8217;s name or alias, its online status, its authorization status, and
+whether there are unread messages from the resource waiting for you.</p></div>
+<div class="paragraph"><p>The online status is one of the following:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>o</em>
+</dt>
+<dd>
+<p>
 online
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>f</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>f</em>
+</dt>
+<dd>
+<p>
 free for chat
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>a</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>a</em>
+</dt>
+<dd>
+<p>
 away
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>n</b>
-</td>
-<td>
-not available (labeled <b>extended away</b> in some clients)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>d</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>n</em>
+</dt>
+<dd>
+<p>
+not available (labeled <em>extended away</em> in some clients)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>d</em>
+</dt>
+<dd>
+<p>
 do not disturb
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>i</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>i</em>
+</dt>
+<dd>
+<p>
 invisible (displayed only for your resource)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>_</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>_</em>
+</dt>
+<dd>
+<p>
 offline (or invisible to you)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>?</b>
-</td>
-<td>
-unknown, usually meaning you are not authorized to see this resource's status
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>x</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>?</em>
+</dt>
+<dd>
+<p>
+unknown, usually meaning you are not authorized to see this resource&#8217;s status
+</p>
+</dd>
+<dt class="hdlist1">
+<em>x</em>
+</dt>
+<dd>
+<p>
 a conference room in which you are not participating
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>C</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>C</em>
+</dt>
+<dd>
+<p>
 a conference room in which you are participating
-</td>
-</tr>
-</table>
-<p>The authorization status indicates whether a resource is authorized to receive
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The authorization status indicates whether a resource is authorized to receive
 your online status updates, and is displayed by the brackets surrounding the
-resource's online status.  Square brackets, like <b>[o]</b>, indicate that this
-resource is authorized to receive your status.  Curly braces, like <b>{o}</b>,
-indicate that they are not authorized to receive your status.</p>
-<p>When there are unread messages from the resource which you have not looked at,
-a hash mark (<b>#</b>) appears in the leftmost section of the roster for that
-resource.  The hash mark disappears once you view that resource's message log.</p>
-<p>Examples:</p>
-<table class="hlist">
-<tr valign="top">
-<td>
-<b> --- Buds</b>
-</td>
-<td>
-This is a group named <b>Buds</b>
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>#[o] John</b>
-</td>
-<td>
+resource&#8217;s online status.  Square brackets, like <em>[o]</em>, indicate that this
+resource is authorized to receive your status.  Curly braces, like <em>{o}</em>,
+indicate that they are not authorized to receive your status.</p></div>
+<div class="paragraph"><p>When there are unread messages from the resource which you have not looked at,
+a hash mark (<em>#</em>) appears in the leftmost section of the roster for that
+resource.  The hash mark disappears once you view that resource&#8217;s message log.</p></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>--- Buds</em>
+</dt>
+<dd>
+<p>
+This is a group named <em>Buds</em>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>#[o] John</em>
+</dt>
+<dd>
+<p>
 John is online, can see your status, and sent you a message that you did not read yet
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b> {?} Sally</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>{?} Sally</em>
+</dt>
+<dd>
+<p>
 Neither you nor Sally have authorized each other to see your online status
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b> {a} Jane</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>{a} Jane</em>
+</dt>
+<dd>
+<p>
 Jane is away, but she cannot see your online status
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>#[C] x@y.c</b>
-</td>
-<td>
+</p>
+</dd>
+<dt class="hdlist1">
+<em>#[C] x@y.c</em>
+</dt>
+<dd>
+<p>
 You are participating in x@y.c conference room, and there are unread messages
-</td>
-</tr>
-</table>
-<h2>COMMANDS</h2>
-<p>Please refer to the online help (command /help), it is probably more up-to-date than this manpage.  Furthermore, help files have been translated into several languages.<br />
-You will find an overview of the <tt>mcabber</tt> commands in this manual.</p>
-<h2>COMMANDS RELATED TO MCABBER</h2>
-<dl>
-<dt><b>
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_commands">COMMANDS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Please refer to the online help (command /help), it is probably more up-to-date than this manpage.  Furthermore, help files have been translated into several languages.<br />
+You will find an overview of the <tt>mcabber</tt> commands in this manual.</p></div>
+</div>
+<h2 id="_commands_related_to_mcabber">COMMANDS RELATED TO MCABBER</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+/add [jid [nickname]]
+</dt>
+<dd>
+<p>
+        Add the "jid" Jabber user to our roster (default group), and send a notification request to this buddy.  If no nickname is specified, the jid is used.  If no jid (or an empty string "") is provided or if jid is ".", the current buddy is used.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+[<em>jid</em> [nickname]]
+</dt>
+<dd>
+<p>
+Add to our roster "jid" as "nickname"
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Example: "/add somebody@jabber.server.com Somebody"</tt></pre>
+</div></div>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
 /alias [name [= command line]]
-</b></dt>
+</dt>
+<dd>
+<p>
+        This command let you to add aliases which can simplify sophisticated commands.<br />
+        You can manage your aliases by:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+(without arguments)
+</dt>
+<dd>
+<p>
+Print list of currently defined aliases
+</p>
+</dd>
+<dt class="hdlist1">
+<em>name</em>
+</dt>
+<dd>
+<p>
+Print the value of alias called "name"
+</p>
+</dd>
+<dt class="hdlist1">
+<em>name</em>=
+</dt>
+<dd>
+<p>
+Unset alias called "name"
+</p>
+</dd>
+<dt class="hdlist1">
+<em>name</em> = command line
+</dt>
+<dd>
+<p>
+Set alias called "name" with value "command line"
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Example: "/alias away = status away"</tt></pre>
+</div></div>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/authorization allow|cancel|request|request_unsubscribe [jid]
+</dt>
+<dd>
+<p>
+        This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications.<br />
+        If no JID is provided, the currently-selected buddy is used.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>allow</em>
+</dt>
+<dd>
+<p>
+Allow the buddy to receive your presence updates
+</p>
+</dd>
+<dt class="hdlist1">
+<em>cancel</em>
+</dt>
+<dd>
+<p>
+Cancel the buddy&#8217;s subscription to your presence updates
+</p>
+</dd>
+<dt class="hdlist1">
+<em>request</em>
+</dt>
+<dd>
+<p>
+Request a subscription to the buddy&#8217;s presence updates
+</p>
+</dd>
+<dt class="hdlist1">
+<em>request_unsubscribe</em>
+</dt>
+<dd>
+<p>
+Request unsubscription from the buddy&#8217;s presence updates
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/bind [keycode [= command line]]
+</dt>
+<dd>
+<p>
+        Bind the command to the key given as "keycode".  To examine which keys are currently not used look at <tt>mcabber</tt> log window and press examined key.  For example: "Unknown key=265" means that you can bind some command to key #265.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+(without arguments)
+</dt>
+<dd>
+<p>
+Display list of current bindings
+</p>
+</dd>
+<dt class="hdlist1">
+<em>keycode</em>
+</dt>
+<dd>
+<p>
+Display the command line bound to this key
+</p>
+</dd>
+<dt class="hdlist1">
+<em>keycode</em>=
+</dt>
+<dd>
+<p>
+Unbind key with code "keycode"
+</p>
+</dd>
+<dt class="hdlist1">
+<em>keycode</em> = command line
+</dt>
 <dd>
-        Add "name" as an alias for "command line". <tt>
-        Aliases are expanded only once, thus they can not be chained. </tt>
-        "/alias name" displays the value associated with the "name" alias; <tt>
-        "/alias name =" unsets the "name" alias. </tt>
-        "/alias" displays a list of the existing aliases.<br />
-        Example: "/alias away = status away".
+<p>
+Bind "command line" to the key with code "keycode"
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Example: "/bind 265 = status away" (265 is F1). +
+Note: keycodes can be different depending on your ncurses configuration. +
+Tip: aliases also can be used instead of commands.</tt></pre>
+</div></div>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/buffer clear|close|close_all|purge|list
+</dt>
+<dt class="hdlist1">
+/buffer top|bottom|date|%|search_backward|search_forward
+</dt>
+<dt class="hdlist1">
+/buffer scroll_lock|scroll_unlock|scroll_toggle
+</dt>
+<dt class="hdlist1">
+/buffer save filename
+</dt>
+<dd>
+<p>
+        Buddy&#8217;s buffer manipulation command.  Eg. you can search through buffer for "text", clear chat window etc.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>clear</em>
+</dt>
+<dd>
+<p>
+Clear the current buddy chat window
+</p>
 </dd>
-<dt><b>
-/bind [keycode [= command line]]
-</b></dt>
+<dt class="hdlist1">
+<em>close</em> [jid]
+</dt>
+<dd>
+<p>
+Empty all contents of the buffer and close the current buddy chat window
+</p>
+</dd>
+<dt class="hdlist1">
+<em>close_all</em>
+</dt>
+<dd>
+<p>
+Empty all contents of the chat buffers and close the chat windows
+</p>
+</dd>
+<dt class="hdlist1">
+<em>purge</em> [jid]
+</dt>
+<dd>
+<p>
+Clear the current buddy chat window and empty all contents of the chat buffer
+</p>
+</dd>
+<dt class="hdlist1">
+<em>list</em>
+</dt>
+<dd>
+<p>
+Display the list of existing buffers, with their length (lines/blocks)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>top</em>
+</dt>
+<dd>
+<p>
+Jump to the top of the current buddy chat buffer
+</p>
+</dd>
+<dt class="hdlist1">
+<em>bottom</em>
+</dt>
 <dd>
-        Bind a command line to the key with the "keycode" code number. <tt>
-        Keycodes of unused keys are displayed by <tt>mcabber</tt> in the log window
-        when pressing the key, for example "Unknown key=265". </tt>
-        "/bind keycode" displays the command line bound to the given keycode; <tt>
-        "/bind keycode =" unbinds the given keycode. </tt>
-        "/bind" displays a list of the bound keycodes. <tt>
-        Note: aliases can be used in key bindings. </tt>
-        Example: "/bind 265 = status online" (265 is F1 for me, but it may
-        depend on your ncurses installation).
+<p>
+Jump to the bottom of the current buddy chat buffer
+</p>
+</dd>
+<dt class="hdlist1">
+<em>up</em> [n]
+</dt>
+<dd>
+<p>
+Scroll the buffer up [n] lines (default: half a screen)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>down</em> [n]
+</dt>
+<dd>
+<p>
+Scroll the buffer down [n] lines (default: half a screen)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>date</em> [date]
+</dt>
+<dd>
+<p>
+Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
+</p>
+</dd>
+<dt class="hdlist1">
+% n
+</dt>
+<dd>
+<p>
+Jump to position %n of the buddy chat buffer
+</p>
+</dd>
+<dt class="hdlist1">
+<em>search_backward</em> text
+</dt>
+<dd>
+<p>
+Search for [text] in the current buddy chat buffer
+</p>
 </dd>
-<dt><b>
-/buffer clear|close|close_all|purge
-</b></dt>
-<dt><b>
-/buffer top|bottom|date|%|search_backward|search_forward
-</b></dt>
-<dt><b>
-/buffer scroll_lock|scroll_unlock|scroll_toggle
-</b></dt>
+<dt class="hdlist1">
+<em>search_forward</em> text
+</dt>
+<dd>
+<p>
+Search for [text] in the current buddy chat buffer
+</p>
+</dd>
+<dt class="hdlist1">
+<em>scroll_lock</em>
+</dt>
+<dd>
+<p>
+Lock buffer scrolling
+</p>
+</dd>
+<dt class="hdlist1">
+<em>scroll_unlock</em>
+</dt>
+<dd>
+<p>
+Unlock buffer scrolling
+</p>
+</dd>
+<dt class="hdlist1">
+<em>scroll_toggle</em>
+</dt>
+<dd>
+<p>
+Toggle buffer scrolling (lock/unlock)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>save</em> filename
+</dt>
+<dd>
+<p>
+Save the contents of the current buffer to the file "filename"
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/chat_disable [--show-roster]
+</dt>
 <dd>
-        The <b>buffer</b> command manipulates the current buddy's buffer
-        (chat window).
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>clear</b>
-</td>
-<td>
-clear the current buddy chat window
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>close</b>
-</td>
-<td>
-empty all contents of the buffer and close the current buddy chat window
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>close_all</b>
-</td>
-<td>
-empty all contents of the chat buffers and close the chat windows
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>purge</b>
-</td>
-<td>
-clear the current buddy chat window and empty all contents of the chat buffer
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>top</b>
-</td>
-<td>
-jump to the top of the current buddy chat buffer
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>bottom</b>
-</td>
-<td>
-jump to the bottom of the current buddy chat buffer
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>up</b> [n]
-</td>
-<td>
-scroll the buffer up n lines (default: half a screen)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>down</b> [n]
-</td>
-<td>
-scroll the buffer down n lines (default: half a screen)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>date</b> date
-</td>
-<td>
-jump to the first line after the specified date in the chat buffer (date format: "YYYY-mm-dd[THH:MM:SS]", "-" and ":" are optional)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>%</b> n
-</td>
-<td>
-jump to position %n of the buddy chat buffer
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>search_backward</b> text
-</td>
-<td>
-search for "text" in the current buddy chat buffer
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>search_forward</b>  text
-</td>
-<td>
-search for "text" in the current buddy chat buffer
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>scroll_lock</b>
-</td>
-<td>
-lock buffer scrolling
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>scroll_unlock</b>
-</td>
-<td>
-unlock buffer scrolling
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>scroll_toggle</b>
-</td>
-<td>
-toggle buffer scrolling (lock/unlock)
-</td>
-</tr>
-</table>
+<p>
+        Disable chat mode.<br />
+        With --show-roster, the fullscreen mode will be disabled.
+</p>
+</dd>
+<dt class="hdlist1">
+/clear
+</dt>
+<dd>
+<p>
+        This command is actually an alias for "/buffer clear".  It clears the current buddy chat window.
+</p>
+</dd>
+<dt class="hdlist1">
+/color roster (status wildcard (color|-)|clear)
+</dt>
+<dt class="hdlist1">
+/color mucnick nick (color|-)
+</dt>
+<dt class="hdlist1">
+/color muc (jid|.|*) [on|preset|off|-]
+</dt>
+<dd>
+<p>
+        The <em>color</em> command allows setting dynamic color properties of the screen.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>roster</em> clear
+</dt>
+<dd>
+<p>
+Remove all color rules for the roster. All roster items will get its default color.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>roster</em> status wildcard color
+</dt>
+<dd>
+<p>
+Set a color rule (or overwrite, if it already exists). The status is string containing all statuses the roster item can have for the rule to match, or * if any status is OK. Wildcard is the file-matching wildcard that will be applied to JID. Color is the wanted color. If color is -, the rule is removed. If more than one rule matches, the color from the last created (not overwritten) is used.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>mucnick</em> nick (color|-)
+</dt>
+<dd>
+<p>
+Marks the nick to be colored by given color. If a MUC has colored nicks, this one will be used. If color is -, the color is marked as chosen automatically, which means it will not be used in <em>preset</em> coloring mode, but will stay the same in <em>on</em> coloring mode.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>muc</em> (jid|.|*) [on|preset|off|-]
+</dt>
+<dd>
+<p>
+Sets a MUC nick coloring mode. If a jid (. means currently selected jid) is provided, the mode will apply to this specific MUC. If * is used, it will be applied to all MUCs, except the ones set by their jid. Mode <em>on</em> colors all nicks, <em>preset</em> only the ones manually set by /color mucnick command and <em>off</em> colors none. If not specified, defaults to <em>on</em>. Mode <em>-</em> removes the mode from given JID, which means the global one will apply. You can not remove the global mode. Default global coloring mode is <em>off</em>.
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/connect
+</dt>
+<dd>
+<p>
+        Establish connection to the Jabber server.
+</p>
+</dd>
+<dt class="hdlist1">
+/del
+</dt>
+<dd>
+<p>
+        Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
+</p>
+</dd>
+<dt class="hdlist1">
+/disconnect
+</dt>
+<dd>
+<p>
+        Terminate the connection to the Jabber server.<br />
+        Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
+</p>
+</dd>
+<dt class="hdlist1">
+/echo message
+</dt>
+<dd>
+<p>
+        Display "message" in the log window.
+</p>
+</dd>
+<dt class="hdlist1">
+/event #n|* accept|ignore|reject [event-specific arguments]
+</dt>
+<dt class="hdlist1">
+/event list
+</dt>
+<dd>
+<p>
+        Tell mcabber what to do about pending events.<br />
+        If the first parameter is <em>*</em>, the command will apply to all queued events.<br />
+        Event-specific arguments will be interpreted on event-to event basis. The only built-in case, when argument is used is MUC invitation reject - argument, if present, will be interpreted as reject reason.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+#N|* accept [event-specific arguments]
+</dt>
+<dd>
+<p>
+Event number #N/All events will be accepted
+</p>
 </dd>
-<dt><b>
-/clear
-</b></dt>
+<dt class="hdlist1">
+#N|* ignore [event-specific arguments]
+</dt>
 <dd>
-        The <b>clear</b> command is actually an alias for "/buffer clear".
+<p>
+Event number #N/All events will be ignored
+</p>
 </dd>
-<dt><b>
-/help [command]
-</b></dt>
+<dt class="hdlist1">
+#N|* reject [event-specific arguments]
+</dt>
+<dd>
+<p>
+Event number #N/All events will be rejected
+</p>
+</dd>
+<dt class="hdlist1">
+<em>list</em>
+</dt>
 <dd>
-        Display generic help or help about a specific mcabber command.
+<p>
+List all pending events
+</p>
 </dd>
-<dt><b>
-/quit
-</b></dt>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/group fold|unfold|toggle [groupname]
+</dt>
 <dd>
-        Disconnect and leave <tt>mcabber(1)</tt>.
+<p>
+        This command changes the current group display.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>fold</em> [groupname]
+</dt>
+<dd>
+<p>
+Fold (shrink) the current/specified group tree in the roster
+</p>
 </dd>
-<dt><b>
-/set option[=value]
-</b></dt>
+<dt class="hdlist1">
+<em>unfold</em> [groupname]
+</dt>
+<dd>
+<p>
+Unfold (expand) the current/specified group tree in the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>toggle</em> [groupname]
+</dt>
 <dd>
-        Display or set an option value.
+<p>
+Toggle the state (fold/unfold) of the current/specified tree
+</p>
+</dd>
+</dl></div>
 </dd>
-<dt><b>
-/source [file]
-</b></dt>
+<dt class="hdlist1">
+/help [command|+topic]
+</dt>
 <dd>
-        Read a configuration file.
+<p>
+        Display help for command "command" or topic "topic".<br />
+        Example: "/help buffer"
+</p>
 </dd>
-<dt><b>
-/version
-</b></dt>
+<dt class="hdlist1">
+/iline fchar|bchar|char_fdel|char_bdel|char_swap
+</dt>
+<dt class="hdlist1">
+/iline fword|bword|word_bdel|word_fdel
+</dt>
+<dt class="hdlist1">
+/iline word_upcase|word_downcase|word_capit
+</dt>
+<dt class="hdlist1">
+/iline hist_beginning_search_bwd|hist_beginning_search_fwd
+</dt>
+<dt class="hdlist1">
+/iline hist_prev|hist_next
+</dt>
+<dt class="hdlist1">
+/iline iline_start|iline_end|iline_fdel|iline_bdel
+</dt>
+<dt class="hdlist1">
+/iline iline_accept|iline_accept_down_hist
+</dt>
+<dt class="hdlist1">
+/iline compl_do|compl_cancel
+</dt>
+<dt class="hdlist1">
+/iline send_multiline
+</dt>
 <dd>
-        Display mcabber version
+<p>
+        Input line commands
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>fchar</em>
+</dt>
+<dd>
+<p>
+Move to the next letter
+</p>
 </dd>
-</dl>
-<h2>COMMANDS RELATED TO THE SERVER AND CONNECTION</h2>
-<dl>
-<dt><b>
-/connect
-</b></dt>
+<dt class="hdlist1">
+<em>bchar</em>
+</dt>
 <dd>
-        Establish connection to the Jabber server.
+<p>
+Move to the previous letter
+</p>
+</dd>
+<dt class="hdlist1">
+<em>char_fdel</em>
+</dt>
+<dd>
+<p>
+Delete the letter at cursor position
+</p>
 </dd>
-<dt><b>
-/disconnect
-</b></dt>
+<dt class="hdlist1">
+<em>char_bdel</em>
+</dt>
+<dd>
+<p>
+Delete the letter before cursor position
+</p>
+</dd>
+<dt class="hdlist1">
+<em>char_swap</em>
+</dt>
+<dd>
+<p>
+Transpose chars
+</p>
+</dd>
+<dt class="hdlist1">
+<em>fword</em>
+</dt>
 <dd>
-        Terminate connection to the Jabber server.  Note: the roster is only
-        available when the connection to the server is active, so the
-        buddylist is empty when disconnected.
+<p>
+Move the cursor forward to the end of the current or next word
+</p>
+</dd>
+<dt class="hdlist1">
+<em>bword</em>
+</dt>
+<dd>
+<p>
+Move the cursor back to the start of the current or previous word
+</p>
 </dd>
-<dt><b>
-/event #n|* accept|ignore|reject
-</b></dt>
-<dt><b>
-/event list
-</b></dt>
+<dt class="hdlist1">
+<em>word_bdel</em>
+</dt>
+<dd>
+<p>
+Delete the word from cursor position to its start
+</p>
+</dd>
+<dt class="hdlist1">
+<em>word_fdel</em>
+</dt>
+<dd>
+<p>
+Delete the word from cursor position to its end
+</p>
+</dd>
+<dt class="hdlist1">
+<em>word_upcase</em>
+</dt>
 <dd>
-        Tell mcabber what to do about a pending event.<br />
-        If the first parameter is "*", the command will apply to all
-        queued events.
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>accept</b>
-</td>
-<td>
-accept the event #n
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>ignore</b>
-</td>
-<td>
-remove the event #n from the list
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>reject</b>
-</td>
-<td>
-reject the event #n
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>list</b>
-</td>
-<td>
-list all pending events
-</td>
-</tr>
-</table>
+<p>
+Convert the word from cursor position to its end to upper case
+</p>
+</dd>
+<dt class="hdlist1">
+<em>word_downcase</em>
+</dt>
+<dd>
+<p>
+Convert the word from cursor position to its end to down case
+</p>
+</dd>
+<dt class="hdlist1">
+<em>word_capit</em>
+</dt>
+<dd>
+<p>
+Capitalize the word from cursor position to its end
+</p>
+</dd>
+<dt class="hdlist1">
+<em>hist_beginning_search_bwd</em>
+</dt>
+<dd>
+<p>
+Search backward in the history for a  line  beginning  with  the current  line  up  to the cursor (this leaves the cursor in its original position)
+</p>
 </dd>
-<dt><b>
-/rawxml send string
-</b></dt>
+<dt class="hdlist1">
+<em>hist_beginning_search_fwd</em>
+</dt>
 <dd>
-        <b>send</b> string: send string (raw XML format) to the Jabber server.  No check is done on the string provided.  BEWARE! Use this only if you know what you are doing, or you could terminate the connection.
+<p>
+Search forward in the history for a  line  beginning  with  the current  line  up  to the cursor (this leaves the cursor in its original position)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>hist_prev</em>
+</dt>
+<dd>
+<p>
+Previous line of input line history
+</p>
 </dd>
-</dl>
-<h2>COMMANDS RELATED TO THE ROSTER AND JABBER RESOURCES</h2>
-<dl>
-<dt><b>
-/add [jid [nickname]]
-</b></dt>
+<dt class="hdlist1">
+<em>hist_next</em>
+</dt>
 <dd>
-        Add the "jid" Jabber user to our roster (default group), and send a
-        notification request to this buddy.  If no nickname is specified, the
-        jid is used.  If no jid (or an empty string "") is provided or if jid
-        is ".", the current buddy is used.
+<p>
+Next line of input line history
+</p>
 </dd>
-<dt><b>
-/authorization allow|cancel|request|request_unsubscribe [jid]
-</b></dt>
+<dt class="hdlist1">
+<em>iline_start</em>
+</dt>
+<dd>
+<p>
+Go to the beginning of the input line
+</p>
+</dd>
+<dt class="hdlist1">
+<em>iline_end</em>
+</dt>
 <dd>
-        Manage the presence subscriptions.<br />
-        If no jid is provided, the current buddy is used.
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>allow</b>
-</td>
-<td>
-allow the buddy to receive your presence updates
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>cancel</b>
-</td>
-<td>
-cancel the buddy' subscription to your presence updates
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>request</b>
-</td>
-<td>
-request a subscription to the buddy's presence updates
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>request_unsubscribe</b>
-</td>
-<td>
-request unsubscription from the buddy's presence updates
-</td>
-</tr>
-</table>
+<p>
+Go to the end of the input line
+</p>
+</dd>
+<dt class="hdlist1">
+<em>iline_fdel</em>
+</dt>
+<dd>
+<p>
+Delete from the cursor to the end of line
+</p>
+</dd>
+<dt class="hdlist1">
+<em>iline_bdel</em>
+</dt>
+<dd>
+<p>
+Delete from beginning of the line to the cursor
+</p>
+</dd>
+<dt class="hdlist1">
+<em>iline_accept</em>
+</dt>
+<dd>
+<p>
+Accept line
+</p>
 </dd>
-<dt><b>
-/del
-</b></dt>
+<dt class="hdlist1">
+<em>iline_accept_down_hist</em>
+</dt>
+<dd>
+<p>
+Accept line and put the next history line in the input line
+</p>
+</dd>
+<dt class="hdlist1">
+<em>compl_do</em>
+</dt>
 <dd>
-        Delete the current buddy from our roster, unsubscribe from its presence
-        notification and unsubscribe it from ours.
+<p>
+Complete current word, in the input line
+</p>
 </dd>
-<dt><b>
-/group fold|unfold|toggle
-</b></dt>
+<dt class="hdlist1">
+<em>compl_cancel</em>
+</dt>
+<dd>
+<p>
+Cancel completion
+</p>
+</dd>
+<dt class="hdlist1">
+<em>send_multiline</em>
+</dt>
 <dd>
-        The <b>group</b> command changes the current group display.
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>fold</b>
-</td>
-<td>
-fold (shrink) the current group tree in the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>unfold</b>
-</td>
-<td>
-unfold (expand) the current group tree in the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>toggle</b>
-</td>
-<td>
-toggle the state (fold/unfold) of the current tree
-</td>
-</tr>
-</table>
+<p>
+Send/terminate a multi-line message
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/info
+</dt>
+<dd>
+<p>
+        Display info on the selected entry (user, agent, group&#8230;).<br />
+        For users, resources are displayed with the status, priority and status message (if available) of each resource.
+</p>
+</dd>
+<dt class="hdlist1">
+/module load|unload [-f] module
+</dt>
+<dt class="hdlist1">
+/module info module
+</dt>
+<dt class="hdlist1">
+/module [list]
+</dt>
+<dd>
+<p>
+        Load, unload or show info on module.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>load</em> [-f] module
+</dt>
+<dd>
+<p>
+Loads specified module. If -f flag is specified, most of module loading errors will be ignored.
+</p>
 </dd>
-<dt><b>
-/info
-</b></dt>
+<dt class="hdlist1">
+<em>unload</em> [-f] module
+</dt>
+<dd>
+<p>
+Unloads specified module. Note: The force flag will not remove any dependent on this modules!
+</p>
+</dd>
+<dt class="hdlist1">
+<em>info</em> module
+</dt>
 <dd>
-        Display info on the selected entry (user, agent, group&#8230;).<br />
-        For users, resources are displayed with the status, priority and
-        status message (if available) of each resource.
+<p>
+Shows available information about this module.
+</p>
 </dd>
-<dt><b>
+<dt class="hdlist1">
+[<em>list</em>]
+</dt>
+<dd>
+<p>
+Lists modules in a format: [modulename]  [reference count] ([Manually/Automatically loaded]) [any extra info, like version or dependencies]
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
 /move [groupname]
-</b></dt>
+</dt>
 <dd>
-        Move the current buddy to the requested group.  If no group is
-        specified, then the buddy is moved to the default group.
-        If the group groupname doesn't exist, it is created.<br />
-        Tip: if the chatmode is enabled, you can use "/roster alternate"
-        to jump to the moved buddy.
+<p>
+        Move the current buddy to the requested group.  If no group is specified, then the buddy is moved to the default group.  If the group "groupname" doesn&#8217;t exist, it is created.<br />
+        Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
+</p>
 </dd>
-<dt><b>
+<dt class="hdlist1">
 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort
-</b></dt>
+</dt>
+<dd>
+<p>
+        Send a multi-line message.  To write a single message with several lines, the <em>multi-line mode</em> should be used.<br />
+        In multi-line mode, each line (except command lines) typed in the input line will be added to the multi-line message.  Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command.<br />
+        The <em>begin</em> subcommand enables multi-line mode.  Note that it allows a message subject to be specified.<br />
+        The <em>verbatim</em> multi-line mode disables commands, so that it is possible to enter lines starting with a slash.  Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode.<br />
+        The <em>toggle</em> subcommand can be bound to a key to use the multi-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta-Enter combination).
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>begin</em> [subject]
+</dt>
+<dd>
+<p>
+Enter multi-line mode
+</p>
+</dd>
+<dt class="hdlist1">
+<em>verbatim</em>
+</dt>
+<dd>
+<p>
+Enter verbatim multi-line mode
+</p>
+</dd>
+<dt class="hdlist1">
+<em>send</em> [-n|-h]
+</dt>
+<dd>
+<p>
+Send the current multi-line message to the currently selected buddy
+</p>
+</dd>
+<dt class="hdlist1">
+<em>send_to</em> [-n|-h] jid
+</dt>
+<dd>
+<p>
+Send the current multi-line message to "jid"
+</p>
+</dd>
+<dt class="hdlist1">
+<em>toggle</em>|<em>toggle_verbatim</em>
+</dt>
+<dd>
+<p>
+Switch to/from multi-line mode (begin/send)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>abort</em>
+</dt>
+<dd>
+<p>
+Leave multi-line mode without sending the message
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.</tt></pre>
+</div></div>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/otr key
+</dt>
+<dt class="hdlist1">
+/otr start|stop|info [jid]
+</dt>
+<dt class="hdlist1">
+/otr fingerprint [jid [fpr]]
+</dt>
+<dt class="hdlist1">
+/otr smpq|smpr [jid] secret
+</dt>
+<dt class="hdlist1">
+/otr smpa [jid]
+</dt>
+<dd>
+<p>
+        You can use the shortcut-jid "." for the currently selected contact.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>key</em>
+</dt>
 <dd>
-        Send a multi-line message.  To write a single message with several
-        lines, the <b>multi-line mode</b> should be used. <tt>
-        In multi-line mode, each line (except command lines) typed in the input
-        line will be added to the multi-line message.  Once the message is
-        finished, it can be sent to the current selected buddy with the "/msay
-        send" command (or Ctrl-d). </tt>
-        The <b>begin</b> subcommand enables multi-line mode.  Note that it allows
-        a message subject to be specified. <tt>
-        The <b>verbatim</b> multi-line mode disables commands, so that it is
-        possible to enter lines starting with a slash.  Only the "/msay"
-        command (with send or abort parameters) can be used to exit verbatim
-        mode. </tt>
-        The <b>toggle</b> and <b>toggle_verbatim</b> subcommands can be bound to a key to
-        use the multi-line mode quickly (for example, "bind M109 = msay toggle"
-        to switch using the Meta-m combination).
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>begin</b> [subject]
-</td>
-<td>
-enter multi-line mode
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>verbatim</b>
-</td>
-<td>
-enter verbatim multi-line mode
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>send</b>
-</td>
-<td>
-send the current multi-line message to the currently selected buddy
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>send_to</b> jid
-</td>
-<td>
-send the current multi-line message to "jid"
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>toggle</b>
-</td>
-<td>
-switch to/from multi-line mode (begin/send)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>toggle_verbatim</b>
-</td>
-<td>
-same with verbatim multi-line mode
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>abort</b>
-</td>
-<td>
-leave multi-line mode without sending the message
-</td>
-</tr>
-</table>
+<p>
+Print the fingerprint of your private key to the Status Buffer
+</p>
+</dd>
+<dt class="hdlist1">
+<em>start</em> [jid]
+</dt>
+<dd>
+<p>
+Open an OTR channel to the specified jid (or the currently selected contact)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>stop</em> [jid]
+</dt>
+<dd>
+<p>
+Close the OTR channel to the specified jid (or the currently selected contact)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>info</em> [jid]
+</dt>
+<dd>
+<p>
+Show current OTR status for the specified jid (or the currently selected contact)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>fingerprint</em> [jid [fpr]]
+</dt>
+<dd>
+<p>
+Show the active fingerprint of an OTR channel. If the fingerprint is provided instead of "fpr", the fingerprint will become trusted. If you replace "fpr" by some bogus string the fingerprint will loose the trusted status.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>smpq</em> [jid] secret
+</dt>
+<dd>
+<p>
+Initiate the Socialist Millionaires Protocol with the secret and the buddy
+</p>
+</dd>
+<dt class="hdlist1">
+<em>smpr</em> [jid] secret
+</dt>
+<dd>
+<p>
+Respond to the Initiation of the jid with the secret
+</p>
+</dd>
+<dt class="hdlist1">
+<em>smpa</em> [jid]
+</dt>
+<dd>
+<p>
+Abort the running Socialist Millionaires Protocol
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/otrpolicy
+</dt>
+<dt class="hdlist1">
+/otrpolicy (default|jid) (plain|manual|opportunistic|always)
+</dt>
+<dd>
+<p>
+        You can use the shortcut-jid "." for the currently selected contact.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+(without arguments)
+</dt>
+<dd>
+<p>
+Prints all OTR policies to the status buffer
+</p>
+</dd>
+<dt class="hdlist1">
+(<em>default</em>|<em>jid</em>) (plain|manual|opportunistic|always)
+</dt>
+<dd>
+<p>
+Sets either the default policy or the policy for the given jid The plain policy should never be used, because you won&#8217;t be able to receive or send any OTR encrypted messages. If you set the policy to manual, you or your chat partner have to start the OTR encryption by hand (e.g. with /otr start). The policy "opportunistic" does that itself by sending a special whitespace-sequence at the end of unencrypted messages. So the other OTR-enabled chat client knows, that you want to use OTR. Note that the first message will always be unencryted, if you use this policy. With the policy "always" no message will be sent in plain text. If you try to sent the first message unencrypted, mcabber will try to establish an OTR channel. Please resend your message, when you get the information that the channel was established. If someone sends you plaintext messages while the policy is set to "always", you&#8217;ll be able to read the message but it won&#8217;t be saved to the history.
+</p>
+</dd>
+</dl></div>
 </dd>
-<dt><b>
+<dt class="hdlist1">
 /pgp disable|enable|force|info [jid]
-</b></dt>
-<dt><b>
+</dt>
+<dt class="hdlist1">
 /pgp setkey [jid [key]]
-</b></dt>
+</dt>
+<dd>
+<p>
+        This command manipulates PGP settings for the specified jid (by default the currently selected contact).<br />
+        Please note that PGP encryption won&#8217;t be used if no remote PGP support is detected, even if PGP is enabled with this command.  You can force PGP encryption with the "force" subcommand.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>disable</em> [jid]
+</dt>
+<dd>
+<p>
+Disable PGP encryption for jid (or the currently selected contact)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>enable</em> [jid]
+</dt>
+<dd>
+<p>
+Enable PGP encryption for jid (or the currently selected contact)
+</p>
+</dd>
+<dt class="hdlist1">
+<em style="color:+|-;">force</em> [jid]
+</dt>
+<dd>
+<p>
+Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support.  If a message can&#8217;t be encrypted (missing key or key id), the messages won&#8217;t be sent at all.  This option is ignored when PGP is disabled.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>info</em> [jid]
+</dt>
+<dd>
+<p>
+Show current PGP settings for the contact
+</p>
+</dd>
+<dt class="hdlist1">
+<em>setkey</em> [jid [key]]
+</dt>
+<dd>
+<p>
+Set the PGP key to be used to encrypt message for this contact. If no key is provided, the current key is erased. You can use the shortcut-jid "." for the currently selected contact.
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/quit
+</dt>
+<dd>
+<p>
+        This command closes all connections and quit mcabber.
+</p>
+</dd>
+<dt class="hdlist1">
+/rawxml send string
+</dt>
+<dd>
+<p>
+        Send "string" (raw XML format) to the Jabber server.<br />
+        No check is done on the string provided.<br />
+        BEWARE!
+        Use this only if you know what you are doing, or you could terminate the connection.<br />
+        Example: "/rawxml send &lt;presence&gt;&lt;show&gt;away&lt;/show&gt;&lt;/presence&gt;"
+</p>
+</dd>
+<dt class="hdlist1">
+/rename name
+</dt>
+<dd>
+<p>
+        Rename the current buddy or group to the given "name".  If "name" is -, the name is removed from the roster (and mcabber will display the JID or username).
+</p>
+</dd>
+<dt class="hdlist1">
+/request last|ping|time|vcard|version [jid]
+</dt>
+<dd>
+<p>
+        Send a "IQ" query to the current buddy, or to the specified Jabber user.  If the resource is not provided with the jid, mcabber will send the query to all known resources for this user.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>last</em>
+</dt>
+<dd>
+<p>
+Request "last" information (usually idle time)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>ping</em>
+</dt>
 <dd>
-        Manipulate PGP settings for the specified jid (by default the currently selected contact).  Please note that PGP encryption won't be used if no remote PGP support is detected, even if PGP is enabled with this command.
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>disable</b> [jid]
-</td>
-<td>
-disable PGP encryption for jid (or the currently selected contact)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>enable</b> [jid]
-</td>
-<td>
-enable PGP encryption for jid (or the currently selected contact)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>force</b> [jid]
-</td>
-<td>
-enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>info</b> [jid]
-</td>
-<td>
-show current PGP settings for the contact
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>setkey</b> [jid [key]]
-</td>
-<td>
-set the PGP key to be used to encrypt message for this contact.  If no key is provided, the current key is erased.  You can use the shortcut-jid "." for the currently selected contact.
-</td>
-</tr>
-</table>
+<p>
+Send an XMPP Ping request.  Note that you should use the full JID since a ping sent to a bare JID will be handled by the server.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>time</em>
+</dt>
+<dd>
+<p>
+Request time from the buddy
+</p>
+</dd>
+<dt class="hdlist1">
+<em>vcard</em>
+</dt>
+<dd>
+<p>
+Request VCard from the buddy
+</p>
+</dd>
+<dt class="hdlist1">
+<em>version</em>
+</dt>
+<dd>
+<p>
+Request version from the buddy
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/room join|leave|names|nick|remove|topic|unlock|destroy
+</dt>
+<dt class="hdlist1">
+/room privmsg|invite|whois|kick|ban|unban|role|affil
+</dt>
+<dt class="hdlist1">
+/room setopt print_status|auto_whois [value]
+</dt>
+<dt class="hdlist1">
+/room bookmark [add|del] [-autojoin|+autojoin] [-|nick]
+</dt>
+<dd>
+<p>
+        The <em>room</em> command handles Multi-User Chat room actions.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>join</em> [room [nick [pass]]]
+</dt>
+<dd>
+<p>
+Join "room", using "nick" as nickname.  If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file).  If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "." can be used instead of the full room id.  A password can be provided to enter protected rooms.  If your nickname contains space characters, use quotes.
+</p>
 </dd>
-<dt><b>
-/rename name
-</b></dt>
+<dt class="hdlist1">
+<em>leave</em> [message]
+</dt>
+<dd>
+<p>
+Leave the current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>names</em> [--detail|--short|--quiet|--compact]
+</dt>
 <dd>
-        Rename current buddy or group to the given name.
-        Please note that a group name change is only done when the server's
-        acknowledgment is received, so a slight delay can be noticed.
+<p>
+Display members of the current room
+</p>
 </dd>
-<dt><b>
-/request last|time|vcard|version [jid]
-</b></dt>
+<dt class="hdlist1">
+<em>nick</em> newnick
+</dt>
+<dd>
+<p>
+Change your nickname in the current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>privmsg</em> nick msg
+</dt>
 <dd>
-        Send a "IQ" query to the current buddy, or to the specified Jabber
-        user.  If the resource is not provided with the jid, mcabber will
-        send the query to all known resources for this user.
+<p>
+Send private message "msg" to "nick"
+</p>
+</dd>
+<dt class="hdlist1">
+<em>remove</em>
+</dt>
+<dd>
+<p>
+Remove the current room from the roster (you must have left this room before)
+</p>
 </dd>
-<dt><b>
-/room join|leave|names|nick|privmsg|remove|topic|unlock|destroy
-</b></dt>
-<dt><b>
-/room invite|kick|ban|role|affil
-</b></dt>
-<dt><b>
-/room bookmark [add|del] [-autojoin|+autojoin]
-</b></dt>
+<dt class="hdlist1">
+<em>topic</em> -|newtopic
+</dt>
+<dd>
+<p>
+Set topic for current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>unlock</em>
+</dt>
+<dd>
+<p>
+Unlock current room (if you are the owner)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>destroy</em> [reason]
+</dt>
 <dd>
-        The <b>room</b> command handles Multi-User Chat room actions.
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>join</b> [room [nick [pass]]]
-</td>
-<td>
-join "room", using "nick" as nickname.  If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file).  If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "." can be used instead of the full room id.  A password can be provided to enter protected rooms.  If your nickname contains space characters, use quotes.
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>leave</b> [message]
-</td>
-<td>
-leave the current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>names</b> [--detail|--short|--quiet]
-</td>
-<td>
-display the members of the current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>nick</b> nick
-</td>
-<td>
-change your nickname in the current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>privmsg</b> nick msg
-</td>
-<td>
-send private message "msg" to "nick"
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>remove</b>
-</td>
-<td>
-remove the current room from the roster (you must have left this room before)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>topic</b>
-</td>
-<td>
-set topic for current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>unlock</b>
-</td>
-<td>
-unlock current room (if you are the owner)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>destroy</b> [reason]
-</td>
-<td>
-destroy the current room (use with care!)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>whois</b> nick
-</td>
-<td>
-display MUC information about "nick"
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>ban</b> jid [reason]
-</td>
-<td>
-ban jid from the current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>invite</b> jid [reason]
-</td>
-<td>
-invite jid to the current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>kick</b> nick [reason]
-</td>
-<td>
-kick "nick" from the current room
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>role</b> jid role [reason]
-</td>
-<td>
-change jid's role (role can be "none", "visitor", "participant", "moderator")
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>affil</b> jid affil [reason]
-</td>
-<td>
-change jid's affiliation (affil can be "none", "member", "admin", "owner")
-        <b>bookmark</b>              add/update/remove a room bookmark, set/unset autojoin
-</td>
-</tr>
-</table>
+<p>
+Destroy the current room (use with care!)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>whois</em> nick
+</dt>
+<dd>
+<p>
+Display MUC information about "nick"
+</p>
+</dd>
+<dt class="hdlist1">
+<em>ban</em> jid [reason]
+</dt>
+<dd>
+<p>
+Ban jid from the current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>unban</em> jid
+</dt>
+<dd>
+<p>
+Unban jid from the current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>invite</em> jid [reason]
+</dt>
+<dd>
+<p>
+Invite jid to the current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>kick</em> nick [reason]
+</dt>
+<dd>
+<p>
+Kick "nick" from the current room
+</p>
+</dd>
+<dt class="hdlist1">
+<em>role</em> jid role [reason]
+</dt>
+<dd>
+<p>
+Change jid&#8217;s role (role can be "none", "visitor", "participant", "moderator")
+</p>
+</dd>
+<dt class="hdlist1">
+<em>affil</em> jid affil [reason]
+</dt>
+<dd>
+<p>
+Change jid&#8217;s affiliation (affil can be "none", "member", "admin", "owner")
+</p>
+</dd>
+<dt class="hdlist1">
+<em>setopt</em> print_status|auto_whois [value]
+</dt>
+<dd>
+<p>
+Change settings for the current room For print_status, the possible values are "default", "none", "in_and_out", "all". For auto_whois, the possible values are "default", "off", "on". When the value is "default", the options muc_print_status / muc_auto_whois is used.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>bookmark</em> [add|del] [-autojoin|+autojoin] [-|nick]
+</dt>
+<dd>
+<p>
+Add, remove or update a bookmark (default is add). If autojoin is set, mcabber will automatically join the MUC room when it connects to the server. To see the list of bookmarks, use /room bookmark in the status buffer.
+</p>
+</dd>
+</dl></div>
 </dd>
-<dt><b>
+<dt class="hdlist1">
 /roster bottom|top|up|down|group_prev|group_next
-</b></dt>
-<dt><b>
+</dt>
+<dt class="hdlist1">
 /roster alternate|unread_first|unread_next
-</b></dt>
-<dt><b>
+</dt>
+<dt class="hdlist1">
 /roster search bud
-</b></dt>
-<dt><b>
-/roster hide_offline|show_offline|toggle_offline
-</b></dt>
-<dt><b>
-/roster item_lock|item_unlock
-</b></dt>
-<dt><b>
+</dt>
+<dt class="hdlist1">
+/roster display|hide_offline|show_offline|toggle_offline
+</dt>
+<dt class="hdlist1">
+/roster item_lock|item_unlock|item_toggle_lock
+</dt>
+<dt class="hdlist1">
 /roster hide|show|toggle
-</b></dt>
-<dt><b>
+</dt>
+<dt class="hdlist1">
 /roster note [-|text]
-</b></dt>
+</dt>
+<dd>
+<p>
+        The <em>roster</em> command manipulates the roster/buddylist.<br />
+        Here are the available parameters:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>bottom</em>
+</dt>
+<dd>
+<p>
+Jump to the bottom of the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>top</em>
+</dt>
+<dd>
+<p>
+Jump to the top of the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>up</em> [n]
+</dt>
+<dd>
+<p>
+Move up [n lines] in the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>down</em> [n]
+</dt>
+<dd>
+<p>
+Move down [n lines] in the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>group_prev</em>
+</dt>
+<dd>
+<p>
+Jump to the previous group in the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>group_next</em>
+</dt>
+<dd>
+<p>
+Jump to the next group in the roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>alternate</em>
+</dt>
+<dd>
+<p>
+Jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode.  This command is thus especially useful after commands like "/roster unread_next" (Ctrl-q).
+</p>
+</dd>
+<dt class="hdlist1">
+<em>unread_first</em>
+</dt>
+<dd>
+<p>
+Jump to the first unread message
+</p>
+</dd>
+<dt class="hdlist1">
+<em>unread_next</em>
+</dt>
+<dd>
+<p>
+Jump to the next unread message
+</p>
+</dd>
+<dt class="hdlist1">
+<em>search</em> bud
+</dt>
+<dd>
+<p>
+Search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>display</em> [mask]
+</dt>
+<dd>
+<p>
+See or update the roster filter. The mask should contain the shortcut letters of the status you want to see ([o]nline, [f]ree_for_chat, [d]o_not_disturb, [n]ot_available, [a]way, [_]offline). For example "ofdna" to display only connected buddies.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>hide_offline</em>
+</dt>
 <dd>
-        The <b>roster</b> command manipulates the roster/buddylist.  Here are the available parameters:
-<table class="hlist">
-<tr valign="top">
-<td>
-<b>bottom</b>
-</td>
-<td>
-jump to the bottom of the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>top</b>
-</td>
-<td>
-jump to the top of the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>up</b>
-</td>
-<td>
-move up in the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>down</b>
-</td>
-<td>
-move down in the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>group_prev</b>
-</td>
-<td>
-jump to the previous group in the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>group_next</b>
-</td>
-<td>
-jump to the next group in the roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>alternate</b>
-</td>
-<td>
-jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first")
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>unread_first</b>
-</td>
-<td>
-jump to the first unread message
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>unread_next</b>
-</td>
-<td>
-jump to the next unread message
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>search</b> bud
-</td>
-<td>
-search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>hide_offline</b>
-</td>
-<td>
-hide offline buddies
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>show_offline</b>
-</td>
-<td>
-show offline buddies
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>toggle_offline</b>
-</td>
-<td>
-toggle display of offline buddies
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>item_lock</b> jid
-</td>
-<td>
-lock the roster item so it remains visible regardless of its status
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>item_unlock</b> jid
-</td>
-<td>
-undo the effects of item_lock
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>hide</b>
-</td>
-<td>
-hide roster (full-width chat window)
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>show</b>
-</td>
-<td>
-show roster
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>toggle</b>
-</td>
-<td>
-toggle roster visibility
-</td>
-</tr>
-<tr valign="top">
-<td>
-<b>note</b> [text]
-</td>
-<td>
-display or set an annotation (if text is "-", the annotation is deleted).  In the "status" buffer, it will display all annotations.
-</td>
-</tr>
-</table>
+<p>
+Hide offline buddies (same as /roster display ofdna)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>show_offline</em>
+</dt>
+<dd>
+<p>
+Show offline buddies (same as /roster display ofdna_)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>toggle_offline</em>
+</dt>
+<dd>
+<p>
+Toggle display of offline buddies
+</p>
+</dd>
+<dt class="hdlist1">
+<em>item_lock</em> [jid]
+</dt>
+<dd>
+<p>
+Lock the roster item so it remains visible regardless of its status
+</p>
+</dd>
+<dt class="hdlist1">
+<em>item_unlock</em> [jid]
+</dt>
+<dd>
+<p>
+Undo the effects of item_lock
+</p>
+</dd>
+<dt class="hdlist1">
+<em>item_toggle_lock</em> [jid]
+</dt>
+<dd>
+<p>
+Invert the current lock flag
+</p>
+</dd>
+<dt class="hdlist1">
+<em>hide</em>
+</dt>
+<dd>
+<p>
+Hide roster (full-width chat window)
+</p>
+</dd>
+<dt class="hdlist1">
+<em>show</em>
+</dt>
+<dd>
+<p>
+Show roster
+</p>
+</dd>
+<dt class="hdlist1">
+<em>toggle</em>
+</dt>
+<dd>
+<p>
+Toggle roster visibility
+</p>
+</dd>
+<dt class="hdlist1">
+<em>note</em> [-|text]
+</dt>
+<dd>
+<p>
+Set/update/delete an annotation. If there is no text, the current item&#8217;s annotation is displayed&#8201;&#8212;&#8201;if you are in the status buffer, all notes are displayed. If text is "-", the note is erased.
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+/say [-n|-h|--] text
+</dt>
+<dd>
+<p>
+        Send the "text" message to the currently selected buddy.  It can be useful if you want to send a message beginning with a slash, for example.<br />
+        The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat message beginning with -n or -h.
+</p>
+</dd>
+<dt class="hdlist1">
+/say_to [-n|-h] [-q] [-f file] jid text
+</dt>
+<dd>
+<p>
+        Send the "text" message to the specified jid.<br />
+        Please note that this command doesn&#8217;t set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use "/say_to" for each message.<br />
+        The "-n" flag turns the message to "normal" type, "-h" to "headline".  "--" can be used to send chat messages beginning with -n or -h.<br />
+        When "-q" is used, the message will be sent in the background and will not change the current active window.<br />
+        A text file can be provided with the "-f" switch (in which case there&#8217;s no need to pass a text argument after the jid, of course).
+</p>
 </dd>
-<dt><b>
-/say text
-</b></dt>
+<dt class="hdlist1">
+/screen_refresh
+</dt>
 <dd>
-        Send the "text" message to the currently selected buddy.  Can be useful
-        if you want to send a message beginning with a slash, for example.
+<p>
+        Refresh the mcabber screen.
+</p>
 </dd>
-<dt><b>
-/say_to jid text
-</b></dt>
+<dt class="hdlist1">
+/set option [= value]
+</dt>
 <dd>
-        Send the "text" message to the specified jid.
-        Please note that this command doesn't set the default resource for
-        a contact, so if you want to send several messages to a specific
-        resource you will have to use "/say_to" for each message.
+<p>
+        Display or set an option value.
+</p>
 </dd>
-<dt><b>
-/status [online|avail|invisible|free|dnd|notavail|away [-|StatusMessage]]
-</b></dt>
+<dt class="hdlist1">
+/source pattern
+</dt>
+<dd>
+<p>
+        Read configuration files, that match glob pattern (sorted in alphabetical order).
+</p>
+</dd>
+<dt class="hdlist1">
+/status [online|avail|invisible|free|dnd|notavail|away [-|statusmessage]]
+</dt>
+<dt class="hdlist1">
+/status message -|statusmessage
+</dt>
 <dd>
-        Show or set the current status. <tt>
-        If no status is specified, display the current status. </tt>
-        If a status message is specified, it will overrride the message*
-        variables (these variables can be set in the configuration file).
-        If no relevant message* variable is set and no status message provided,
-        the current status message is kept.  If StatusMessage is "-", the
-        current status message is cleared.
+<p>
+        Show or set the current status.<br />
+        If no status is specified, display the current status.<br />
+        If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file).<br />
+        If no relevant message* variable is set and no status message provided, the current status message is kept.<br />
+        If StatusMessage is "-", the current status message is cleared.<br />
+        With the "/status message" command, mcabber will update the message while preserving the status.
+</p>
 </dd>
-<dt><b>
-/status_to jid online|avail|invisible|free|dnd|notavail|away [StatusMessage]
-</b></dt>
+<dt class="hdlist1">
+/status_to jid online|avail|invisible|free|dnd|notavail|away [statusmessage]
+</dt>
+<dt class="hdlist1">
+/status_to jid message statusmessage
+</dt>
 <dd>
-        Send the requested status to the specified Jabber user. <tt>
-        If the specified jid is ".", the current buddy is used. </tt>
-        Note: this status will be overridden by subsequent "/status" commands.
-        If you are using the auto-away feature, the status will overridden
-        too.<br />
+<p>
+        Send the requested status to the specified Jabber user.<br />
+        If the specified jid is ".", the current buddy is used.<br />
+        Note: this status will be overridden by subsequent "/status" commands.  If you are using the auto-away feature, the status will overridden too.<br />
         Note: The jid can include a resource (i.e. user@server/resource).
+</p>
 </dd>
-</dl>
-<h2>CONFIGURATION FILE</h2>
-<p>See the provided sample configuration file, which should be self-documenting.</p>
-<h2>FILES</h2>
-<p>The following files can be used by <tt>mcabber(1)</tt>:</p>
-<div class="literalparagraph"><pre>$HOME/.mcabber/mcabberrc    Default configuration file
+<dt class="hdlist1">
+/version
+</dt>
+<dd>
+<p>
+        Display current version of mcabber.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_configuration_file">CONFIGURATION FILE</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See the provided sample configuration file, which should be self-documenting.</p></div>
+</div>
+<h2 id="_files">FILES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The following files can be used by <tt>mcabber(1)</tt>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>$HOME/.mcabber/mcabberrc    Default configuration file
 $HOME/.mcabberrc            Configuration file used if no other has been found
-$HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled</pre></div>
-<h2>BUGS</h2>
-<p>Certainly.  Please tell me if you find one!  :-)</p>
-<h2>AUTHOR</h2>
-<p>Written by <a href="mailto:mcabber@lilotux.net">Mikael BERTHE</a>.<br />
-Originally based on <a href="http://cabber.sourceforge.net">Cabber</a>, please
-consult the AUTHORS file for details.</p>
-<h2>RESOURCES</h2>
-<p><a href="http://www.lilotux.net/~mikael/mcabber/">Main web site</a></p>
-<h2>COPYING</h2>
-<p>Copyright (C) 2005, 2006, 2007, 2008 Mikael Berthe.<br />
-Some portions are Copyright (C) 2002-2004 <a href="mailto:cabber@ajmacias.com">cabber@ajmacias.com</a>.</p>
-<p>Free use of this software is granted under the terms of the GNU General Public
-License (GPL).</p>
+$HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled
+/usr/share/mcabber/help/    Default directory for online help files
+/usr/lib/mcabber/           Default directory for modules</tt></pre>
+</div></div>
+</div>
+<h2 id="_bugs">BUGS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Certainly.  Please tell me if you find one!  :-)<br />
+Please visit our website to find out about the MUC room and the bug tracker.</p></div>
+</div>
+<h2 id="_author">AUTHOR</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Written by <a href="mailto:mikael@lilotux.net">Mikael BERTHE</a> and others
+(see AUTHORS file).<br /></p></div>
+</div>
+<h2 id="_resources">RESOURCES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a href="http://mcabber.com/">Main web site</a></p></div>
+</div>
+<h2 id="_copying">COPYING</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Copyright (C) 2005-2010 Mikael Berthe and others.<br /></p></div>
+<div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General Public
+License (GPL).</p></div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
 <div id="footer">
-<p>
+<div id="footer-text">
 Version 0.10.0-dev<br />
-Last updated 27-Jun-2007 22:11:34 CEST
-</p>
+Last updated 2010-03-13 17:43:30 CEST
 </div>
 </div>
 </body>
--- a/mcabber/doc/mcabber.1.txt	Sat Mar 13 14:51:13 2010 +0100
+++ b/mcabber/doc/mcabber.1.txt	Sat Mar 13 18:05:07 2010 +0100
@@ -1,11 +1,11 @@
 MCABBER(1)
 ===========
 Mikael BERTHE <mcabber@lilotux.net>
-v0.10.0-dev, October 2009
+v0.10.0-dev, March 2010
 
 NAME
 ----
-mcabber - a simple Jabber console client
+mcabber - a simple Jabber (XMPP) console client
 
 SYNOPSIS
 --------
@@ -13,7 +13,7 @@
 
 DESCRIPTION
 -----------
-`mcabber(1)` is a small Jabber console client. +
+`mcabber(1)` is a small Jabber (XMPP) console client. +
 For now it needs a configuration file to start, so please copy the sample
 mcabberrc file and adapt your connection settings.
 
@@ -22,12 +22,12 @@
 
 Here are some of the features of `mcabber`:
 
-- 'SSL/TLS support'.
+- 'SASL/SSL/TLS support'.
 - 'MUC support' (Multi-User Chat).
-- 'PGP support'
+- 'PGP, OTR support'
 - 'Chat States' support (typing notifications)
 - 'History logging:'  If enabled (see the CONFIGURATION FILE section),
-  `mcabber` can save discussions to history log files.
+  `mcabber` can save discussions to text history log files.
 - 'Commands completion:'  If possible, `mcabber` will try to complete your
   command line if you hit the Tab key.
 - 'Input line history:'  Any message or command entered is in the input line
@@ -36,12 +36,17 @@
   external action such as a shell script if you enable it in your
   configuration file.  A sample events script ("eventcmd") is provided with
   `mcabber` source code, in the contrib directory.
+- 'Modules:'  `mcabber` can load modules (a.k.a. plugins) at runtime that
+  extend its features.
 
 OPTIONS
 -------
---help, -h::
+-h::
         Quick help usage message
 
+-V::
+        Displays `mcabber` version and compile-time definitions.
+
 -f configfile::
         Use configuration file 'configfile'
 
@@ -81,12 +86,12 @@
 jump to the previous/next line from the history beginning with the same string
 (from first column to the cursor column).
 
-To send a message, move to the choosen buddy in the buddylist, type your
+To send a message, move to the chosen buddy in the buddylist, type your
 message and hit enter.  If the line begins with a slash, this will be
 interpreted as a command (see the COMMAND section below).  Hit escape to
 leave the chat mode.
 
-Here is a quick description of the key bindings:
+Here is a quick description of the default key bindings:
 
 Esc::           Disable chat mode
 Ctrl-a::        Go to the beginning of the input line
@@ -154,7 +159,7 @@
         '#[o] John';;     John is online, can see your status, and sent you a message that you did not read yet
         ' \{?\} Sally';;  Neither you nor Sally have authorized each other to see your online status
         ' \{a\} Jane';;   Jane is away, but she cannot see your online status
-        '#[C] x@y.c';;    You are participating in x@y.c conference room, and there are unread messages
+        '#[C] \x@y.c';;   You are participating in \x@y.c conference room, and there are unread messages
 
 COMMANDS
 --------
@@ -163,251 +168,343 @@
 
 COMMANDS RELATED TO MCABBER
 ---------------------------
+/add [jid [nickname]]::
+        Add the "jid" Jabber user to our roster (default group), and send a notification request to this buddy.  If no nickname is specified, the jid is used.  If no jid (or an empty string "") is provided or if jid is ".", the current buddy is used.
+
+        ['jid' [nickname]];;  Add to our roster "jid" as "nickname"
+
+        Example: "/add somebody@jabber.server.com Somebody"
+
 /alias [name [= command line]]::
-        Add "name" as an alias for "command line". +
-        Aliases are expanded only once, thus they can not be chained. +
-        "/alias name" displays the value associated with the "name" alias; +
-        "/alias name =" unsets the "name" alias. +
-        "/alias" displays a list of the existing aliases. +
-        Example: "/alias away = status away".
+        This command let you to add aliases which can simplify sophisticated commands. +
+        You can manage your aliases by:
+
+        (without arguments);;  Print list of currently defined aliases
+        'name';;  Print the value of alias called "name"
+        'name'=;;  Unset alias called "name"
+        'name' = command line;;  Set alias called "name" with value "command line"
+
+        Example: "/alias away = status away"
+
+/authorization allow|cancel|request|request_unsubscribe [jid]::
+        This command manages presence subscriptions: it allows you to request presence subscriptions from others on your roster, and allows you to control who receives your presence notifications. +
+        If no JID is provided, the currently-selected buddy is used.
+
+        'allow';;  Allow the buddy to receive your presence updates
+        'cancel';;  Cancel the buddy's subscription to your presence updates
+        'request';;  Request a subscription to the buddy's presence updates
+        'request_unsubscribe';;  Request unsubscription from the buddy's presence updates
 
 /bind [keycode [= command line]]::
-        Bind a command line to the key with the "keycode" code number. +
-        Keycodes of unused keys are displayed by `mcabber` in the log window
-        when pressing the key, for example "Unknown key=265". +
-        "/bind keycode" displays the command line bound to the given keycode; +
-        "/bind keycode =" unbinds the given keycode. +
-        "/bind" displays a list of the bound keycodes. +
-        Note: aliases can be used in key bindings. +
-        Example: "/bind 265 = status online" (265 is F1 for me, but it may
-        depend on your ncurses installation).
+        Bind the command to the key given as "keycode".  To examine which keys are currently not used look at `mcabber` log window and press examined key.  For example: "Unknown key=265" means that you can bind some command to key #265.
 
-/buffer clear|close|close_all|purge::
+        (without arguments);;  Display list of current bindings
+        'keycode';;  Display the command line bound to this key
+        'keycode'=;;  Unbind key with code "keycode"
+        'keycode' = command line;;  Bind "command line" to the key with code "keycode"
+
+        Example: "/bind 265 = status away" (265 is F1). +
+        Note: keycodes can be different depending on your ncurses configuration. +
+        Tip: aliases also can be used instead of commands.
+
+/buffer clear|close|close_all|purge|list::
 /buffer top|bottom|date|%|search_backward|search_forward::
 /buffer scroll_lock|scroll_unlock|scroll_toggle::
-        The 'buffer' command manipulates the current buddy's buffer
-        (chat window).
+/buffer save filename::
+        Buddy's buffer manipulation command.  Eg. you can search through buffer for "text", clear chat window etc.
 
-        'clear';;                clear the current buddy chat window
-        'close';;                empty all contents of the buffer and close the current buddy chat window
-        'close_all';;            empty all contents of the chat buffers and close the chat windows
-        'purge';;                clear the current buddy chat window and empty all contents of the chat buffer
-        'top';;                  jump to the top of the current buddy chat buffer
-        'bottom';;               jump to the bottom of the current buddy chat buffer
-        'up' [n];;               scroll the buffer up n lines (default: half a screen)
-        'down' [n];;             scroll the buffer down n lines (default: half a screen)
-        'date' date;;            jump to the first line after the specified date in the chat buffer (date format: "YYYY-mm-dd[THH:MM:SS]", "-" and ":" are optional)
-        '%' n;;                  jump to position %n of the buddy chat buffer
-        'search_backward' text;; search for "text" in the current buddy chat buffer
-        'search_forward'  text;; search for "text" in the current buddy chat buffer
-        'scroll_lock';;          lock buffer scrolling
-        'scroll_unlock';;        unlock buffer scrolling
-        'scroll_toggle';;        toggle buffer scrolling (lock/unlock)
+        'clear';;  Clear the current buddy chat window
+        'close' [jid];;  Empty all contents of the buffer and close the current buddy chat window
+        'close_all';;  Empty all contents of the chat buffers and close the chat windows
+        'purge' [jid];;  Clear the current buddy chat window and empty all contents of the chat buffer
+        'list';;  Display the list of existing buffers, with their length (lines/blocks)
+        'top';;  Jump to the top of the current buddy chat buffer
+        'bottom';;  Jump to the bottom of the current buddy chat buffer
+        'up' [n];;  Scroll the buffer up [n] lines (default: half a screen)
+        'down' [n];;  Scroll the buffer down [n] lines (default: half a screen)
+        'date' [date];;  Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
+        % n;;  Jump to position %n of the buddy chat buffer
+        'search_backward' text;;  Search for [text] in the current buddy chat buffer
+        'search_forward' text;;  Search for [text] in the current buddy chat buffer
+        'scroll_lock';;  Lock buffer scrolling
+        'scroll_unlock';;  Unlock buffer scrolling
+        'scroll_toggle';;  Toggle buffer scrolling (lock/unlock)
+        'save' filename;;  Save the contents of the current buffer to the file "filename"
+
+/chat_disable [--show-roster]::
+        Disable chat mode. +
+        With --show-roster, the fullscreen mode will be disabled.
 
 /clear::
-        The 'clear' command is actually an alias for "/buffer clear".
-
-/help [command]::
-        Display generic help or help about a specific mcabber command.
-
-/quit::
-        Disconnect and leave `mcabber(1)`.
+        This command is actually an alias for "/buffer clear".  It clears the current buddy chat window.
 
-/set option[=value]::
-        Display or set an option value.
-
-/source [file]::
-        Read a configuration file.
+/color roster (status wildcard (color|-)|clear)::
+/color mucnick nick (color|-)::
+/color muc (jid|.|*) [on|preset|off|-]::
+        The 'color' command allows setting dynamic color properties of the screen.
 
-/version::
-        Display mcabber version
+        'roster' clear;;  Remove all color rules for the roster. All roster items will get its default color.
+        'roster' status wildcard color;;  Set a color rule (or overwrite, if it already exists). The status is string containing all statuses the roster item can have for the rule to match, or * if any status is OK. Wildcard is the file-matching wildcard that will be applied to JID. Color is the wanted color. If color is -, the rule is removed. If more than one rule matches, the color from the last created (not overwritten) is used.
+        'mucnick' nick (color|-);;  Marks the nick to be colored by given color. If a MUC has colored nicks, this one will be used. If color is -, the color is marked as chosen automatically, which means it will not be used in 'preset' coloring mode, but will stay the same in 'on' coloring mode.
+        'muc' (jid|.|*) [on|preset|off|-];;  Sets a MUC nick coloring mode. If a jid (. means currently selected jid) is provided, the mode will apply to this specific MUC. If * is used, it will be applied to all MUCs, except the ones set by their jid. Mode 'on' colors all nicks, 'preset' only the ones manually set by /color mucnick command and 'off' colors none. If not specified, defaults to 'on'. Mode '-' removes the mode from given JID, which means the global one will apply. You can not remove the global mode. Default global coloring mode is 'off'.
 
-COMMANDS RELATED TO THE SERVER AND CONNECTION
----------------------------------------------
 /connect::
         Establish connection to the Jabber server.
 
+/del::
+        Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
+
 /disconnect::
-        Terminate connection to the Jabber server.  Note: the roster is only
-        available when the connection to the server is active, so the
-        buddylist is empty when disconnected.
+        Terminate the connection to the Jabber server. +
+        Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
 
-/event #n|* accept|ignore|reject::
+/echo message::
+        Display "message" in the log window.
+
+/event #n|* accept|ignore|reject [event-specific arguments]::
 /event list::
-        Tell mcabber what to do about a pending event. +
-        If the first parameter is "*", the command will apply to all
-        queued events.
+        Tell mcabber what to do about pending events. +
+        If the first parameter is '*', the command will apply to all queued events. +
+        Event-specific arguments will be interpreted on event-to event basis. The only built-in case, when argument is used is MUC invitation reject - argument, if present, will be interpreted as reject reason.
+
+        #N|* accept [event-specific arguments];;  Event number #N/All events will be accepted
+        #N|* ignore [event-specific arguments];;  Event number #N/All events will be ignored
+        #N|* reject [event-specific arguments];;  Event number #N/All events will be rejected
+        'list';;  List all pending events
 
-        'accept';;  accept the event #n
-        'ignore';;  remove the event #n from the list
-        'reject';;  reject the event #n
-        'list';;    list all pending events
+/group fold|unfold|toggle [groupname]::
+        This command changes the current group display.
 
-/rawxml send string::
-        'send' string: send string (raw XML format) to the Jabber server.  No check is done on the string provided.  BEWARE! Use this only if you know what you are doing, or you could terminate the connection.
+        'fold' [groupname];;  Fold (shrink) the current/specified group tree in the roster
+        'unfold' [groupname];;  Unfold (expand) the current/specified group tree in the roster
+        'toggle' [groupname];;  Toggle the state (fold/unfold) of the current/specified tree
+
+/help [command|+topic]::
+        Display help for command "command" or topic "topic". +
+        Example: "/help buffer"
 
-COMMANDS RELATED TO THE ROSTER AND JABBER RESOURCES
----------------------------------------------------
-/add [jid [nickname]]::
-        Add the "jid" Jabber user to our roster (default group), and send a
-        notification request to this buddy.  If no nickname is specified, the
-        jid is used.  If no jid (or an empty string "") is provided or if jid
-        is ".", the current buddy is used.
-
-/authorization allow|cancel|request|request_unsubscribe [jid]::
-        Manage the presence subscriptions. +
-        If no jid is provided, the current buddy is used.
+/iline fchar|bchar|char_fdel|char_bdel|char_swap::
+/iline fword|bword|word_bdel|word_fdel::
+/iline word_upcase|word_downcase|word_capit::
+/iline hist_beginning_search_bwd|hist_beginning_search_fwd::
+/iline hist_prev|hist_next::
+/iline iline_start|iline_end|iline_fdel|iline_bdel::
+/iline iline_accept|iline_accept_down_hist::
+/iline compl_do|compl_cancel::
+/iline send_multiline::
+        Input line commands
 
-        'allow';;   allow the buddy to receive your presence updates
-        'cancel';;  cancel the buddy' subscription to your presence updates
-        'request';; request a subscription to the buddy's presence updates
-        'request_unsubscribe';; request unsubscription from the buddy's presence updates
-
-/del::
-        Delete the current buddy from our roster, unsubscribe from its presence
-        notification and unsubscribe it from ours.
-
-/group fold|unfold|toggle::
-        The 'group' command changes the current group display.
-
-        'fold';;   fold (shrink) the current group tree in the roster
-        'unfold';; unfold (expand) the current group tree in the roster
-        'toggle';; toggle the state (fold/unfold) of the current tree
+        'fchar';;  Move to the next letter
+        'bchar';;  Move to the previous letter
+        'char_fdel';;  Delete the letter at cursor position
+        'char_bdel';;  Delete the letter before cursor position
+        'char_swap';;  Transpose chars
+        'fword';;  Move the cursor forward to the end of the current or next word
+        'bword';;  Move the cursor back to the start of the current or previous word
+        'word_bdel';;  Delete the word from cursor position to its start
+        'word_fdel';;  Delete the word from cursor position to its end
+        'word_upcase';;  Convert the word from cursor position to its end to upper case
+        'word_downcase';;  Convert the word from cursor position to its end to down case
+        'word_capit';;  Capitalize the word from cursor position to its end
+        'hist_beginning_search_bwd';;  Search backward in the history for a  line  beginning  with  the current  line  up  to the cursor (this leaves the cursor in its original position)
+        'hist_beginning_search_fwd';;  Search forward in the history for a  line  beginning  with  the current  line  up  to the cursor (this leaves the cursor in its original position)
+        'hist_prev';;  Previous line of input line history
+        'hist_next';;  Next line of input line history
+        'iline_start';;  Go to the beginning of the input line
+        'iline_end';;  Go to the end of the input line
+        'iline_fdel';;  Delete from the cursor to the end of line
+        'iline_bdel';;  Delete from beginning of the line to the cursor
+        'iline_accept';;  Accept line
+        'iline_accept_down_hist';;  Accept line and put the next history line in the input line
+        'compl_do';;  Complete current word, in the input line
+        'compl_cancel';;  Cancel completion
+        'send_multiline';;  Send/terminate a multi-line message
 
 /info::
         Display info on the selected entry (user, agent, group...). +
-        For users, resources are displayed with the status, priority and
-        status message (if available) of each resource.
+        For users, resources are displayed with the status, priority and status message (if available) of each resource.
+
+/module load|unload [-f] module::
+/module info module::
+/module [list]::
+        Load, unload or show info on module.
+
+        'load' [-f] module;;  Loads specified module. If -f flag is specified, most of module loading errors will be ignored.
+        'unload' [-f] module;;  Unloads specified module. Note: The force flag will not remove any dependent on this modules!
+        'info' module;;  Shows available information about this module.
+        ['list'];;  Lists modules in a format: [modulename]  [reference count] ([Manually/Automatically loaded]) [any extra info, like version or dependencies]
 
 /move [groupname]::
-        Move the current buddy to the requested group.  If no group is
-        specified, then the buddy is moved to the default group.
-        If the group groupname doesn't exist, it is created. +
-        Tip: if the chatmode is enabled, you can use "/roster alternate"
-        to jump to the moved buddy.
+        Move the current buddy to the requested group.  If no group is specified, then the buddy is moved to the default group.  If the group "groupname" doesn't exist, it is created. +
+        Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
 
 /msay begin|verbatim|send|send_to|toggle|toggle_verbatim|abort::
-        Send a multi-line message.  To write a single message with several
-        lines, the 'multi-line mode' should be used. +
-        In multi-line mode, each line (except command lines) typed in the input
-        line will be added to the multi-line message.  Once the message is
-        finished, it can be sent to the current selected buddy with the "/msay
-        send" command (or Ctrl-d). +
-        The 'begin' subcommand enables multi-line mode.  Note that it allows
-        a message subject to be specified. +
-        The 'verbatim' multi-line mode disables commands, so that it is
-        possible to enter lines starting with a slash.  Only the "/msay"
-        command (with send or abort parameters) can be used to exit verbatim
-        mode. +
-        The 'toggle' and 'toggle_verbatim' subcommands can be bound to a key to
-        use the multi-line mode quickly (for example, "bind M109 = msay toggle"
-        to switch using the Meta-m combination).
+        Send a multi-line message.  To write a single message with several lines, the 'multi-line mode' should be used. +
+        In multi-line mode, each line (except command lines) typed in the input line will be added to the multi-line message.  Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command. +
+        The 'begin' subcommand enables multi-line mode.  Note that it allows a message subject to be specified. +
+        The 'verbatim' multi-line mode disables commands, so that it is possible to enter lines starting with a slash.  Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode. +
+        The 'toggle' subcommand can be bound to a key to use the multi-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta-Enter combination).
+
+        'begin' [subject];;  Enter multi-line mode
+        'verbatim';;  Enter verbatim multi-line mode
+        'send' [-n|-h];;  Send the current multi-line message to the currently selected buddy
+        'send_to' [-n|-h] jid;;  Send the current multi-line message to "jid"
+        'toggle'|'toggle_verbatim';;  Switch to/from multi-line mode (begin/send)
+        'abort';;  Leave multi-line mode without sending the message
+
+        The -n or -h flags turn the message to "normal" or "headline" accordingly, as opposed to default "chat" message.
 
-        'begin' [subject];; enter multi-line mode
-        'verbatim';;        enter verbatim multi-line mode
-        'send';;            send the current multi-line message to the currently selected buddy
-        'send_to' jid;;     send the current multi-line message to "jid"
-        'toggle';;          switch to/from multi-line mode (begin/send)
-        'toggle_verbatim';; same with verbatim multi-line mode
-        'abort';;           leave multi-line mode without sending the message
+/otr key::
+/otr start|stop|info [jid]::
+/otr fingerprint [jid [fpr]]::
+/otr smpq|smpr [jid] secret::
+/otr smpa [jid]::
+        You can use the shortcut-jid "." for the currently selected contact.
+
+        'key';;  Print the fingerprint of your private key to the Status Buffer
+        'start' [jid];;  Open an OTR channel to the specified jid (or the currently selected contact)
+        'stop' [jid];;  Close the OTR channel to the specified jid (or the currently selected contact)
+        'info' [jid];;  Show current OTR status for the specified jid (or the currently selected contact)
+        'fingerprint' [jid [fpr]];;  Show the active fingerprint of an OTR channel. If the fingerprint is provided instead of "fpr", the fingerprint will become trusted. If you replace "fpr" by some bogus string the fingerprint will loose the trusted status.
+        'smpq' [jid] secret;;  Initiate the Socialist Millionaires Protocol with the secret and the buddy
+        'smpr' [jid] secret;;  Respond to the Initiation of the jid with the secret
+        'smpa' [jid];;  Abort the running Socialist Millionaires Protocol
+
+/otrpolicy::
+/otrpolicy (default|jid) (plain|manual|opportunistic|always)::
+        You can use the shortcut-jid "." for the currently selected contact.
+
+        (without arguments);;  Prints all OTR policies to the status buffer
+        ('default'|'jid') (plain|manual|opportunistic|always);;  Sets either the default policy or the policy for the given jid The plain policy should never be used, because you won't be able to receive or send any OTR encrypted messages. If you set the policy to manual, you or your chat partner have to start the OTR encryption by hand (e.g. with /otr start). The policy "opportunistic" does that itself by sending a special whitespace-sequence at the end of unencrypted messages. So the other OTR-enabled chat client knows, that you want to use OTR. Note that the first message will always be unencryted, if you use this policy. With the policy "always" no message will be sent in plain text. If you try to sent the first message unencrypted, mcabber will try to establish an OTR channel. Please resend your message, when you get the information that the channel was established. If someone sends you plaintext messages while the policy is set to "always", you'll be able to read the message but it won't be saved to the history.
 
 /pgp disable|enable|force|info [jid]::
 /pgp setkey [jid [key]]::
-        Manipulate PGP settings for the specified jid (by default the currently selected contact).  Please note that PGP encryption won't be used if no remote PGP support is detected, even if PGP is enabled with this command.
+        This command manipulates PGP settings for the specified jid (by default the currently selected contact). +
+        Please note that PGP encryption won't be used if no remote PGP support is detected, even if PGP is enabled with this command.  You can force PGP encryption with the "force" subcommand.
+
+        'disable' [jid];;  Disable PGP encryption for jid (or the currently selected contact)
+        'enable' [jid];;  Enable PGP encryption for jid (or the currently selected contact)
+        [+|-]'force' [jid];;  Enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support.  If a message can't be encrypted (missing key or key id), the messages won't be sent at all.  This option is ignored when PGP is disabled.
+        'info' [jid];;  Show current PGP settings for the contact
+        'setkey' [jid [key]];;  Set the PGP key to be used to encrypt message for this contact. If no key is provided, the current key is erased. You can use the shortcut-jid "." for the currently selected contact.
 
-        'disable' [jid];;   disable PGP encryption for jid (or the currently selected contact)
-        'enable' [jid];;    enable PGP encryption for jid (or the currently selected contact)
-        [-]'force' [jid];;  enforce PGP encryption, even for offline messages, and always assume the recipient has PGP support
-        'info' [jid];;      show current PGP settings for the contact
-        'setkey' [jid [key]];;  set the PGP key to be used to encrypt message for this contact.  If no key is provided, the current key is erased.  You can use the shortcut-jid "." for the currently selected contact.
+/quit::
+        This command closes all connections and quit mcabber.
+
+/rawxml send string::
+        Send "string" (raw XML format) to the Jabber server. +
+        No check is done on the string provided. +
+        BEWARE!
+        Use this only if you know what you are doing, or you could terminate the connection. +
+        Example: "/rawxml send <presence><show>away</show></presence>"
 
 /rename name::
-        Rename current buddy or group to the given name.
-        Please note that a group name change is only done when the server's
-        acknowledgment is received, so a slight delay can be noticed.
+        Rename the current buddy or group to the given "name".  If "name" is -, the name is removed from the roster (and mcabber will display the JID or username).
+
+/request last|ping|time|vcard|version [jid]::
+        Send a "IQ" query to the current buddy, or to the specified Jabber user.  If the resource is not provided with the jid, mcabber will send the query to all known resources for this user.
 
-/request last|time|vcard|version [jid]::
-        Send a "IQ" query to the current buddy, or to the specified Jabber
-        user.  If the resource is not provided with the jid, mcabber will
-        send the query to all known resources for this user.
+        'last';;  Request "last" information (usually idle time)
+        'ping';;  Send an XMPP Ping request.  Note that you should use the full JID since a ping sent to a bare JID will be handled by the server.
+        'time';;  Request time from the buddy
+        'vcard';;  Request VCard from the buddy
+        'version';;  Request version from the buddy
 
-/room join|leave|names|nick|privmsg|remove|topic|unlock|destroy::
-/room invite|kick|ban|role|affil::
-/room bookmark [add|del] [-autojoin|+autojoin]::
+/room join|leave|names|nick|remove|topic|unlock|destroy::
+/room privmsg|invite|whois|kick|ban|unban|role|affil::
+/room setopt print_status|auto_whois [value]::
+/room bookmark [add|del] [-autojoin|+autojoin] [-|nick]::
         The 'room' command handles Multi-User Chat room actions.
 
-        'join' [room [nick [pass]]];; join "room", using "nick" as nickname.  If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file).  If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "." can be used instead of the full room id.  A password can be provided to enter protected rooms.  If your nickname contains space characters, use quotes.
-        'leave' [message];;     leave the current room
-        'names' [--detail|--short|--quiet];; display the members of the current room
-        'nick' nick;;           change your nickname in the current room
-        'privmsg' nick msg;;    send private message "msg" to "nick"
-        'remove';;              remove the current room from the roster (you must have left this room before)
-        'topic';;               set topic for current room
-        'unlock';;              unlock current room (if you are the owner)
-        'destroy' [reason];;    destroy the current room (use with care!)
-        'whois' nick;;          display MUC information about "nick"
-        'ban' jid [reason];;    ban jid from the current room
-        'invite' jid [reason];; invite jid to the current room
-        'kick' nick [reason];;  kick "nick" from the current room
-        'role' jid role [reason];;  change jid's role (role can be "none", "visitor", "participant", "moderator")
-        'affil' jid affil [reason];; change jid's affiliation (affil can be "none", "member", "admin", "owner")
-        'bookmark'              add/update/remove a room bookmark, set/unset autojoin
+        'join' [room [nick [pass]]];;  Join "room", using "nick" as nickname.  If no nickname is provided (or if it is an empty string), the "nickname" option value is used (see sample configuration file).  If the currently selected entry is correctly recognized as a room by mcabber, the shortcut "." can be used instead of the full room id.  A password can be provided to enter protected rooms.  If your nickname contains space characters, use quotes.
+        'leave' [message];;  Leave the current room
+        'names' [--detail|--short|--quiet|--compact];;  Display members of the current room
+        'nick' newnick;;  Change your nickname in the current room
+        'privmsg' nick msg;;  Send private message "msg" to "nick"
+        'remove';;  Remove the current room from the roster (you must have left this room before)
+        'topic' -|newtopic;;  Set topic for current room
+        'unlock';;  Unlock current room (if you are the owner)
+        'destroy' [reason];;  Destroy the current room (use with care!)
+        'whois' nick;;  Display MUC information about "nick"
+        'ban' jid [reason];;  Ban jid from the current room
+        'unban' jid;;  Unban jid from the current room
+        'invite' jid [reason];;  Invite jid to the current room
+        'kick' nick [reason];;  Kick "nick" from the current room
+        'role' jid role [reason];;  Change jid's role (role can be "none", "visitor", "participant", "moderator")
+        'affil' jid affil [reason];;  Change jid's affiliation (affil can be "none", "member", "admin", "owner")
+        'setopt' print_status|auto_whois [value];;  Change settings for the current room For print_status, the possible values are "default", "none", "in_and_out", "all". For auto_whois, the possible values are "default", "off", "on". When the value is "default", the options muc_print_status / muc_auto_whois is used.
+        'bookmark' [add|del] [-autojoin|+autojoin] [-|nick];;  Add, remove or update a bookmark (default is add). If autojoin is set, mcabber will automatically join the MUC room when it connects to the server. To see the list of bookmarks, use /room bookmark in the status buffer.
 
 /roster bottom|top|up|down|group_prev|group_next::
 /roster alternate|unread_first|unread_next::
 /roster search bud::
-/roster hide_offline|show_offline|toggle_offline::
-/roster item_lock|item_unlock::
+/roster display|hide_offline|show_offline|toggle_offline::
+/roster item_lock|item_unlock|item_toggle_lock::
 /roster hide|show|toggle::
 /roster note [-|text]::
-        The 'roster' command manipulates the roster/buddylist.  Here are the available parameters:
+        The 'roster' command manipulates the roster/buddylist. +
+        Here are the available parameters:
 
-        'bottom';;       jump to the bottom of the roster
-        'top';;          jump to the top of the roster
-        'up';;           move up in the roster
-        'down';;         move down in the roster
-        'group_prev';;   jump to the previous group in the roster
-        'group_next';;   jump to the next group in the roster
-        'alternate';;    jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first")
-        'unread_first';; jump to the first unread message
-        'unread_next';;  jump to the next unread message
-        'search' bud;;   search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
-        'hide_offline';; hide offline buddies
-        'show_offline';; show offline buddies
-        'toggle_offline';; toggle display of offline buddies
-        'item_lock' jid;;   lock the roster item so it remains visible regardless of its status
-        'item_unlock' jid;; undo the effects of item_lock
-        'hide';;         hide roster (full-width chat window)
-        'show';;         show roster
-        'toggle';;       toggle roster visibility
-        'note' [text];;  display or set an annotation (if text is "-", the annotation is deleted).  In the "status" buffer, it will display all annotations.
+        'bottom';;  Jump to the bottom of the roster
+        'top';;  Jump to the top of the roster
+        'up' [n];;  Move up [n lines] in the roster
+        'down' [n];;  Move down [n lines] in the roster
+        'group_prev';;  Jump to the previous group in the roster
+        'group_next';;  Jump to the next group in the roster
+        'alternate';;  Jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode.  This command is thus especially useful after commands like "/roster unread_next" (Ctrl-q).
+        'unread_first';;  Jump to the first unread message
+        'unread_next';;  Jump to the next unread message
+        'search' bud;;  Search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
+        'display' [mask];;  See or update the roster filter. The mask should contain the shortcut letters of the status you want to see ([o]nline, [f]ree_for_chat, [d]o_not_disturb, [n]ot_available, [a]way, [_]offline). For example "ofdna" to display only connected buddies.
+        'hide_offline';;  Hide offline buddies (same as /roster display ofdna)
+        'show_offline';;  Show offline buddies (same as /roster display ofdna_)
+        'toggle_offline';;  Toggle display of offline buddies
+        'item_lock' [jid];;  Lock the roster item so it remains visible regardless of its status
+        'item_unlock' [jid];;  Undo the effects of item_lock
+        'item_toggle_lock' [jid];;  Invert the current lock flag
+        'hide';;  Hide roster (full-width chat window)
+        'show';;  Show roster
+        'toggle';;  Toggle roster visibility
+        'note' [-|text];;  Set/update/delete an annotation. If there is no text, the current item's annotation is displayed -- if you are in the status buffer, all notes are displayed. If text is "-", the note is erased.
 
-/say text::
-        Send the "text" message to the currently selected buddy.  Can be useful
-        if you want to send a message beginning with a slash, for example.
+/say [-n|-h|--] text::
+        Send the "text" message to the currently selected buddy.  It can be useful if you want to send a message beginning with a slash, for example. +
+        The "-n" flag turns the message to "normal" type, "-h" to "headline". "--" can be used to send chat message beginning with -n or -h.
+
+/say_to [-n|-h] [-q] [-f file] jid text::
+        Send the "text" message to the specified jid. +
+        Please note that this command doesn't set the default resource for a contact, so if you want to send several messages to a specific resource you will have to use "/say_to" for each message. +
+        The "-n" flag turns the message to "normal" type, "-h" to "headline".  "--" can be used to send chat messages beginning with -n or -h. +
+        When "-q" is used, the message will be sent in the background and will not change the current active window. +
+        A text file can be provided with the "-f" switch (in which case there's no need to pass a text argument after the jid, of course).
 
-/say_to jid text::
-        Send the "text" message to the specified jid.
-        Please note that this command doesn't set the default resource for
-        a contact, so if you want to send several messages to a specific
-        resource you will have to use "/say_to" for each message.
+/screen_refresh::
+        Refresh the mcabber screen.
+
+/set option [= value]::
+        Display or set an option value.
 
-/status [online|avail|invisible|free|dnd|notavail|away [-|StatusMessage]]::
+/source pattern::
+        Read configuration files, that match glob pattern (sorted in alphabetical order).
+
+/status [online|avail|invisible|free|dnd|notavail|away [-|statusmessage]]::
+/status message -|statusmessage::
         Show or set the current status. +
         If no status is specified, display the current status. +
-        If a status message is specified, it will overrride the message*
-        variables (these variables can be set in the configuration file).
-        If no relevant message* variable is set and no status message provided,
-        the current status message is kept.  If StatusMessage is "-", the
-        current status message is cleared.
+        If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file). +
+        If no relevant message* variable is set and no status message provided, the current status message is kept. +
+        If StatusMessage is "-", the current status message is cleared. +
+        With the "/status message" command, mcabber will update the message while preserving the status.
 
-/status_to jid online|avail|invisible|free|dnd|notavail|away [StatusMessage]::
+/status_to jid online|avail|invisible|free|dnd|notavail|away [statusmessage]::
+/status_to jid message statusmessage::
         Send the requested status to the specified Jabber user. +
         If the specified jid is ".", the current buddy is used. +
-        Note: this status will be overridden by subsequent "/status" commands.
-        If you are using the auto-away feature, the status will overridden
-        too. +
-        Note: The jid can include a resource (i.e. user@server/resource).
+        Note: this status will be overridden by subsequent "/status" commands.  If you are using the auto-away feature, the status will overridden too. +
+        Note: The jid can include a resource (i.e. \user@server/resource).
+
+/version::
+        Display current version of mcabber.
 
 CONFIGURATION FILE
 ------------------
@@ -420,26 +517,26 @@
     $HOME/.mcabber/mcabberrc    Default configuration file
     $HOME/.mcabberrc            Configuration file used if no other has been found
     $HOME/.mcabber/histo/       Default directory for storing chat history files, if enabled
+    /usr/share/mcabber/help/    Default directory for online help files
+    /usr/lib/mcabber/           Default directory for modules
 
 BUGS
 ----
-Certainly.  Please tell me if you find one!  :-)
+Certainly.  Please tell me if you find one!  :-) +
+Please visit our website to find out about the MUC room and the bug tracker.
 
 AUTHOR
 ------
-Written by mailto:mcabber@lilotux.net[Mikael BERTHE]. +
-Originally based on http://cabber.sourceforge.net[Cabber], please
-consult the AUTHORS file for details.
+Written by mailto:mikael@lilotux.net[Mikael BERTHE] and others
+(see AUTHORS file). +
 
 RESOURCES
 ---------
-http://www.lilotux.net/~mikael/mcabber/[Main web site]
+http://mcabber.com/[Main web site]
 
 COPYING
 -------
-Copyright \(C) 2005, 2006, 2007, 2008 Mikael Berthe. +
-Some portions are Copyright \(C) 2002-2004 mailto:cabber@ajmacias.com[].
+Copyright \(C) 2005-2010 Mikael Berthe and others. +
 
 Free use of this software is granted under the terms of the GNU General Public
 License (GPL).
-