Nico Golde:
[apps/madmutt.git] / doc / manual.sgml.head
index 017dd5b..2b5df61 100644 (file)
 
 <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
 groups of messages.
 
-<sect1>Mutt Home Page
+<p>This documentation additionaly contains documentation to <bf/Mutt-NG/, a 
+fork from Mutt with the goal to fix all the little annoyances of Mutt, to
+integrate all the Mutt patches that are floating around in the web, and to
+add other new features. Features specific to Mutt-ng will be discussed in
+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-ng Home Page
 <p>
-<htmlurl url="http://www.mutt.org/"
-name="http://www.mutt.org/">
+<htmlurl url="http://www.muttng.org/"
+name="http://www.muttng.org">
 
 <sect1>Mailing Lists
 <p>
-To subscribe to one of the following mailing lists, send a message with the
-word <em/subscribe/ in the body to
-<tt/list-name/<em/-request/<tt/@mutt.org/.
 
 <itemize>
-<item><htmlurl url="mailto:mutt-announce-request@mutt.org"
-name="mutt-announce@mutt.org"> -- low traffic list for announcements
-<item><htmlurl url="mailto:mutt-users-request@mutt.org"
-name="mutt-users@mutt.org"> -- help, bug reports and feature requests
-<item><htmlurl url="mailto:mutt-dev-request@mutt.org" name="mutt-dev@mutt.org"> -- development mailing list
+<item><htmlurl url="https://lists.berlios.de/mailman/listinfo/mutt-ng-users"
+name="mutt-ng-users@lists.berlios.de"> -- This is where the mutt-ng user support happens.
+<item><htmlurl url="https://lists.berlios.de/mailman/listinfo/mutt-ng-devel" name="mutt-ng-devel@lists.berlios.de"> -- The development mailing list for mutt-ng
 </itemize>
 
-<bf/Note:/ all messages posted to <em/mutt-announce/ are automatically
-forwarded to <em/mutt-users/, so you do not need to be subscribed to both
-lists.
-
 <sect1>Software Distribution Sites
 <p>
+So far, there are no official releases of Mutt-ng, but you can download
+daily snapshots from <htmlurl url="http://mutt-ng.berlios.de/snapshots/" name="http://mutt-ng.berlios.de/snapshots/">
+<!-- 
 <itemize>
 <item><htmlurl url="ftp://ftp.mutt.org/mutt/"
 name="ftp://ftp.mutt.org/mutt/">
@@ -52,16 +54,22 @@ name="ftp://ftp.mutt.org/mutt/">
 For a list of mirror sites, please refer to <htmlurl
 url="http://www.mutt.org/download.html"
 name="http://www.mutt.org/download.html">.
+-->
+
 
 <sect1>IRC
 <p>
-Visit channel <em/#mutt/ on <htmlurl
+Visit channel <em/#muttng/ on <htmlurl
 url="http://www.freenode.net/" name="irc.freenode.net
-(www.freenode.net)"> to chat with other people interested in Mutt.
+(www.freenode.net)"> to chat with other people interested in Mutt-ng.
+
 
-<sect1>USENET
+<sect1>Weblog
 <p>
-See the newsgroup <htmlurl url="news:comp.mail.mutt" name="comp.mail.mutt">.
+If you want to read fresh news about the latest development in Mutt-ng, and get informed
+about stuff like interesting, Mutt-ng-related articles and packages for your favorite
+distribution, you can read and/or subscribe to our 
+<htmlurl url="http://mutt-ng.supersized.org/" name="Mutt-ng development weblog">.
 
 <sect1>Copyright
 <p>
@@ -736,20 +744,20 @@ newsgroup entered instead loading from newsserver.
 <sect>Configuration
 <p>
 
-While the default configuration (or ``preferences'') make Mutt
-usable right out of the box, it is often desirable to tailor Mutt to
-suit your own tastes. When Mutt is first invoked, it will attempt to
-read the ``system'' configuration file (defaults set by your local
-system administrator), unless the ``-n'' <ref id="commandline"
-name="command line"> option is specified.  This file is typically
-<tt>/usr/local/share/mutt/Muttrc</tt> or <tt>/etc/Muttrc</tt>. Mutt
-will next look for a file named <tt>.muttrc</tt> in your home
-directory.  If this file does not exist and your home directory has
-a subdirectory named <tt/.mutt/, mutt try to load a file named
-<tt>.mutt/muttrc</tt>. 
+While the default configuration (or ``preferences'') make Mutt-ng usable right out
+of the box, it is often desirable to tailor Mutt to suit your own tastes. When
+Mutt-ng is first invoked, it will attempt to read the ``system'' configuration
+file (defaults set by your local system administrator), unless the ``-n'' <ref
+id="commandline" name="command line"> option is specified.  This file is
+typically <tt>/usr/local/share/muttng/Muttngrc</tt> or <tt>/etc/Muttngrc</tt>,
+Mutt-ng users will find this file in <tt>/usr/local/share/muttng/Muttrc</tt> or
+<tt>/etc/Muttngrc</tt>. Mutt will next look for a file named <tt>.muttrc</tt>
+in your home directory, Mutt-ng will look for <tt>.muttngrc</tt>.  If this file
+does not exist and your home directory has a subdirectory named <tt/.mutt/,
+mutt try to load a file named <tt>.muttng/muttngrc</tt>. 
 
-<tt>.muttrc</tt> is the file where you will usually place your <ref
- id="commands" name="commands"> to configure Mutt.
+<tt>.muttrc</tt> (or <tt>.muttngrc</tt> for Mutt-ng) is the file where you will
+usually place your <ref id="commands" name="commands"> to configure Mutt.
 
 In addition, mutt supports version specific configuration files that are
 parsed instead of the default files as explained above.  For instance, if
@@ -806,6 +814,36 @@ A &bsol; at the end of a line can be used to split commands over
 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 ``&bsol;''
+at the end of a line also in comments. This allows you to disable a command
+split over multiple lines with only one ``&num;''.
+
+<tscreen><verb>
+# folder-hook . \
+  set realname="Michael \"MuttDude\" Elkins"
+</tscreen></verb>
+
+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 (&num;) 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
+</tscreen></verb>
+
+line1 ``continues'' until line4. however, the part after the &num; 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,
@@ -1701,6 +1739,51 @@ If the filename ends with a vertical bar (|), then <em/filename/ is
 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="&lt;&dollar;imap&lowbar;mail&lowbar;check"> when the system's SVN
+is recent enough to have it:
+<tscreen><verb>
+ifdef imap_mail_check 'set imap_mail_check=300'
+</tscreen></verb>
+
 <sect1>Removing hooks<label id="unhook">
 <p>
 Usage: <tt/unhook/ &lsqb; * | <em/hook-type/ &rsqb;
@@ -2164,17 +2247,17 @@ pattern is translated at the time the hook is declared, so the value of
 <ref id="default_hook" name="&dollar;default&lowbar;hook"> that is in effect
 at that time will be used.
 
-<sect1>Usind the sidebar<label id="sidebar">
+<sect1>Using the sidebar<label id="sidebar">
 <p>
-The sidebar allows you to use a mailbox listing which looks very
-similiar to the ones you can the in GUI mail clients.
+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.
 The sidebar lists all specified mailboxes, shows the number in each
 and highlights the ones with new email
-Use the following commands:
+Use the following configuration commands:
 <tscreen><verb>
 set sidebar_visible="yes"
 set sidebar_width=25
-</tscreen></verb>
+</verb></tscreen>
 
 If you want to specify the mailboxes you can do so with:
 <tscreen><verb>
@@ -2183,12 +2266,13 @@ mailboxes INBOX \
           MBOX1 \
           MBOX2 \
           ...
-</tscreen></verb>
+</verb></tscreen>
 
 You can also specify the colors for mailboxes with new mails by using:
 <tscreen><verb>
 color sidebar_new red black
-</tscreen></verb>
+color sidebar white black
+</verb></tscreen>
 
 The available functions are:
 <tscreen><verb>
@@ -2198,7 +2282,23 @@ sidebar-next           Hilights the next mailbox
 sidebar-next-new       Hilights the next mailbox with new mail
 sidebar-previous       Hilights the previous mailbox
 sidebar-open           Opens the currently hilighted mailbox
-</tscreen></verb>
+</verb></tscreen>
+
+Reasonable key bindings look e.g. like this:
+<tscreen><verb>
+bind index \Cp sidebar-prev
+bind index \Cn sidebar-next
+bind index \Cb sidebar-open
+bind pager \Cp sidebar-prev
+bind pager \Cn sidebar-next
+bind pager \Cb sidebar-open
+
+macro index B ':toggle sidebar_visible^M'
+macro pager B ':toggle sidebar_visible^M'
+</verb></tscreen>
+
+You can then go up and down by pressing Ctrl-P and Ctrl-N, and 
+switch on and off the sidebar simply by pressing 'B'.
 
 <sect1>External Address Queries<label id="query">
 <p>
@@ -2390,9 +2490,6 @@ either by misconfigured software or bad behaviour from some
 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>
 
@@ -2515,15 +2612,10 @@ name="&dollar;imap&lowbar;list&lowbar;subscribed"> variable.
 
 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="&dollar;mail&lowbar;check">
+<ref id="imap_mail_check" name="&dollar;imap&lowbar;mail&lowbar;check">
 and
 <ref id="timeout" name="&dollar;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
@@ -2536,7 +2628,7 @@ As of version 1.2, mutt supports browsing mailboxes on an IMAP
 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