Nico Golde:
[apps/madmutt.git] / doc / manual.sgml.head
index 0dc9691..33fb23e 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;
@@ -1922,6 +2005,9 @@ messages:
 ~z [MIN]-[MAX]  messages with a size in the range MIN to MAX *)
 ~=             duplicated messages (see $duplicate_threads)
 ~$             unreferenced messages (requires threaded view)
+~*             ``From'' contains realname and (syntactically) valid
+               address (excluded are addresses matching against
+               alternates or any alias)
 </verb></tscreen>
 
 Where EXPR, USER, ID, and SUBJECT are 
@@ -2161,6 +2247,59 @@ 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>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.
+The sidebar lists all specified mailboxes, shows the number in each
+and highlights the ones with new email
+Use the following configuration commands:
+<tscreen><verb>
+set sidebar_visible="yes"
+set sidebar_width=25
+</verb></tscreen>
+
+If you want to specify the mailboxes you can do so with:
+<tscreen><verb>
+set mbox='=INBOX'
+mailboxes INBOX \
+          MBOX1 \
+          MBOX2 \
+          ...
+</verb></tscreen>
+
+You can also specify the colors for mailboxes with new mails by using:
+<tscreen><verb>
+color sidebar_new red black
+color sidebar white black
+</verb></tscreen>
+
+The available functions are:
+<tscreen><verb>
+sidebar-scroll-up      Scrolls the mailbox list up 1 page
+sidebar-scroll-down    Scrolls the mailbox list down 1 page
+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
+</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>
 Mutt supports connecting to external directory databases such as LDAP,
@@ -2252,6 +2391,7 @@ path.
 <item>! -- refers to your <ref id="spoolfile" name="&dollar;spoolfile"> (incoming) mailbox
 <item>&gt; -- refers to your <ref id="mbox" name="&dollar;mbox"> file
 <item>&lt; -- refers to your <ref id="record" name="&dollar;record"> file
+<item>^ -- refers to the current mailbox
 <item>- or !! -- refers to the file you've last visited
 <item>&tilde; -- refers to your home directory
 <item>= or + -- refers to your <ref id="folder" name="&dollar;folder"> directory
@@ -2351,9 +2491,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>
 
@@ -2476,15 +2613,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
@@ -2497,7 +2629,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
@@ -2507,8 +2639,10 @@ following differences:
   will choose to descend into the subfolder view. If you wish to view
   the messages in that folder, you must use <tt>view-file</tt> instead
   (bound to <tt>space</tt> by default).
-<item>You can delete mailboxes with the <tt>delete-mailbox</tt>
-  command (bound to <tt>d</tt> by default. You may also
+<item>You can create, delete and rename mailboxes with the
+  <tt>create-mailbox</tt>, <tt>delete-mailbox</tt>, and
+  <tt>rename-mailbox</tt> commands (default bindings: <tt>C</tt>,
+  <tt>d</tt> and <tt>r</tt>, respectively). You may also
   <tt>subscribe</tt> and <tt>unsubscribe</tt> to mailboxes (normally
   these are bound to <tt>s</tt> and <tt>u</tt>, respectively).
 </itemize>