<sect>Introduction
<p>
-<bf/Mutt/ is a small but very powerful text-based MIME mail client. Mutt is
+<bf/Mutt-ng/ is a small but very powerful text-based MIME mail client. Mutt-ng is
highly configurable, and is well suited to the mail power user with advanced
features like key bindings, keyboard macros, mail threading, regular
expression searches and a powerful pattern matching language for selecting
an extra section. Don't be confused when most of the documentation talk about
Mutt and not Mutt-ng, Mutt-ng contains all Mutt-ng features, plus many more.
-<sect1>Mutt Home Page
-<p>
-<htmlurl url="http://www.mutt.org/"
-name="http://www.mutt.org/">
<sect1>Mutt-ng Home Page
<p>
-<htmlurl url="http://mutt-ng.berlios.de/"
-name="http://mutt-ng.berlios.de/">
+<htmlurl url="http://www.muttng.org/"
+name="http://www.muttng.org">
<sect1>Mailing Lists
<p>
multiple lines, provided that the split points don't appear in the
middle of command names.
+Please note that, unlike the various shells, mutt-ng interpretes a ``\''
+at the end of a line also in comments. This allows you to disable a command
+split over multiple lines with only one ``#''.
+
+<tscreen><verb>
+# folder-hook . \
+ set realname="Michael \"MuttDude\" Elkins"
+</verb></tscreen>
+
+When testing your config files, beware the following caveat. The backslash
+at the end of the commented line extends the current line with the next line
+- then referred to as a ``continuation line''. As the first line is
+commented with a hash (#) all following continuation lines are also
+part of a comment and therefore are ignored, too. So take care of comments
+when continuation lines are involved within your setup files!
+
+Abstract example:
+
+<tscreen><verb>
+line1\
+line2a # line2b\
+line3\
+line4
+line5
+</verb></tscreen>
+
+line1 ``continues'' until line4. however, the part after the # is a
+comment which includes line3 and line4. line5 is a new line of its own and
+thus is interpreted again.
+
It is also possible to substitute the output of a Unix command in an
initialization file. This is accomplished by enclosing the command in
backquotes (``). For example,
considered to be an executable program from which to read input (eg.
<tt>source ~/bin/myscript|</tt>).
+<sect1>Configuring features conditionaly<label id="ifdef">
+<p>
+Usage: <tt/ifdef/ <em/item/ <em/command/
+Usage: <tt/ifndef/ <em/item/ <em/command/
+
+These command allows to test if a variable, function or certain feature
+is available or not respectively, before actually executing the command.
+<tt/ifdef/ (short for ``if defined) handles commands if upon
+availability while <tt/ifndef/ (short for ``if not defined'') does if
+not. The <em/command/ may be any valid fraction of a configuration file.
+
+All names of variables and functions may be tested. Additionally, the
+following compile-features may be tested when prefixed with 'feature_':
+ncurses, slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl,
+gnutls, sasl, sasl2, libesmtp, compressed, color, classic_pgp,
+classic_smime, gpgme, header_cache.
+
+Examples follow.
+
+To only source a file with IMAP related settings only if IMAP support is
+compiled in, use:
+<tscreen><verb>
+ifdef feature_imap 'source ~/.mutt-ng/imap_setup'
+# or
+# ifdef imap_user 'source ~/.mutt-ng/imap_setup'
+# or
+# ...
+</verb></tscreen>
+
+To exit mutt-ng directly if no NNTP support is compiled in:
+<tscreen><verb>
+ifndef feature_nntp 'push q'
+# or
+# ifndef newsrc 'push q'
+# or
+# ...
+</verb></tscreen>
+
+To only set the <ref id="imap_mail_check"
+name="<$imap_mail_check"> when the system's SVN
+is recent enough to have it:
+<tscreen><verb>
+ifdef imap_mail_check 'set imap_mail_check=300'
+</verb></tscreen>
+
<sect1>Removing hooks<label id="unhook">
<p>
Usage: <tt/unhook/ [ * | <em/hook-type/ ]
<ref id="default_hook" name="$default_hook"> that is in effect
at that time will be used.
-<sect1>Usingg the sidebar<label id="sidebar">
+<sect1>Using the sidebar<label id="sidebar">
<p>
The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox listing
which looks very similar to the ones you probably know from GUI mail clients.
<item>! -- refers to your <ref id="spoolfile" name="$spoolfile"> (incoming) mailbox
<item>> -- refers to your <ref id="mbox" name="$mbox"> file
<item>< -- refers to your <ref id="record" name="$record"> file
+<item>^ -- refers to the current mailbox
<item>- or !! -- refers to the file you've last visited
<item>˜ -- refers to your home directory
<item>= or + -- refers to your <ref id="folder" name="$folder"> directory
correspondents. This allows to clean your mailboxes formats) from these
annoyances which make it hard to follow a discussion.
-If you want to use these functions with IMAP, you need to compile Mutt
-with the <em/--enable-imap-edit-threads/ configure flag.
-
<sect2>Linking threads
<p>
Polling for new mail on an IMAP server can cause noticeable delays. So, you'll
want to carefully tune the
-<ref id="mail_check" name="$mail_check">
+<ref id="imap_mail_check" name="$imap_mail_check">
and
<ref id="timeout" name="$timeout">
-variables. Personally I use
-<tscreen><verb>
-set mail_check=90
-set timeout=15
-</verb></tscreen>
-with relatively good results over my slow modem line.
+variables.
Note that if you are using mbox as the mail store on UW servers prior to
v12.250, the server has been reported to disconnect a client if another client
server. This is mostly the same as the local file browser, with the
following differences:
<itemize>
-<item>In lieu of file permissions, mutt displays the string "IMAP",
+<item>Instead of file permissions, mutt displays the string "IMAP",
possibly followed by the symbol "+", indicating
that the entry contains both messages and subfolders. On
Cyrus-like servers folders will often contain both messages and