mu4e: small documentation updates

This commit is contained in:
djcb 2015-12-25 09:41:35 +02:00
parent de22f2643f
commit 08540628e0
1 changed files with 54 additions and 47 deletions

View File

@ -54,11 +54,11 @@ Documentation License.''
Welcome to @t{mu4e} @value{mu-version}! Welcome to @t{mu4e} @value{mu-version}!
@t{mu4e} (@t{mu}-for-emacs) is an e-mail client for GNU-Emacs version 24 @t{mu4e} (@t{mu}-for-emacs) is an e-mail client for GNU-Emacs version
(version 23 may works as well, but is not tested as much), built on top 24, built on top of the
of the @t{mu}@footnote{@url{http://www.djcbsoftware.nl/code/mu}} e-mail @t{mu}@footnote{@url{http://www.djcbsoftware.nl/code/mu}} e-mail search
search engine. @t{mu4e} is optimized for fast handling of large amounts engine. @t{mu4e} is optimized for fast handling of large amounts of
of e-mail. e-mail.
Some of @t{mu4e}'s highlights: Some of @t{mu4e}'s highlights:
@ -68,34 +68,34 @@ folders, you use queries that match messages in a particular folder}, only
queries. queries.
@item Fully documented, with example configurations @item Fully documented, with example configurations
@item User-interface optimized for speed, with quick key strokes for common actions @item User-interface optimized for speed, with quick key strokes for common actions
@item Support for non-English languages (so ``angstrom'' will match ``Angström'') @item Support for non-English languages (so ``angstrom'' matches ``Ångström'')
@item Asynchronous: heavy actions don't block @command{emacs}@footnote{currently, @item Asynchronous: heavy actions don't block @t{emacs}@footnote{currently,
the only exception to this is @emph{sending mail}; there are solutions for the only exception to this is @emph{sending mail}; there are solutions
that though - see the @ref{FAQ}} for that though - see the @ref{FAQ}}
@item Support for crypto @item Support for cryptography - signing, encrypting and decrypting
@item Address auto-completion based on the contacts in your messages @item Address auto-completion based on the contacts in your messages
@item Extendable with your own snippets of elisp @item Extendable with your own snippets of elisp
@end itemize @end itemize
In this manual, we go through the installation of @t{mu4e}, do some basic In this manual, we go through the installation of @t{mu4e}, do some
configuration and explain its daily use. We also show you how you can basic configuration and explain its daily use. We also show you how you
customize @t{mu4e} for your needs. can customize @t{mu4e} for your needs.
At the end of the manual, there are some example configurations, to get you up At the end of the manual, there are some example configurations, to get you up
to speed quickly: @ref{Example configurations}. There's also an @ref{FAQ}, to speed quickly: @ref{Example configurations}. There's also an @ref{FAQ},
which should help you with some common questions. which should help you with some common questions.
@menu @menu
* Introduction:: How it all began * Introduction:: Where be begin
* Getting started:: Setting things up * Getting started:: Setting things up
* Main view:: Where we go when starting @t{mu4e} * Main view:: The @t{mu4e} overview
* Headers view:: Lists of message headers * Headers view:: Lists of message headers
* Message view:: Viewing specific messages * Message view:: Viewing specific messages
* Editor view:: Creating / editing messages * Editor view:: Creating / editing messages
* Searching:: Some more background on searching/queries * Searching:: Some more background on searching/queries
* Marking:: Marking messages and performing actions * Marking:: Marking messages and performing actions
* Contexts:: Defining contexts and switching between them * Contexts:: Defining contexts and switching between them
* Dynamic folders:: Folders that depend on the context * Dynamic folders:: Folders that change based on circumstances
* Actions:: Defining and using custom actions * Actions:: Defining and using custom actions
* Extending mu4e:: Writing code for @t{mu4e} * Extending mu4e:: Writing code for @t{mu4e}
@ -129,11 +129,13 @@ I'm not sure the world needs yet another e-mail client, but perhaps
I (the author) spend a @emph{lot} of time dealing with e-mail, both I (the author) spend a @emph{lot} of time dealing with e-mail, both
professionally and privately. Having an efficient e-mail client is professionally and privately. Having an efficient e-mail client is
essential. Since none of the existing ones worked the way I wanted, I essential. Since none of the existing ones worked the way I wanted, I
created my own. @command{emacs} is an integral part of my workflow, so created my own.
it made a lot of sense to use it for e-mail as well. And as I already
had written an e-mail search engine (@t{mu}), it seemed only logical to @command{emacs} is an integral part of my workflow, so it made a lot of
use that as a basis. sense to use it for e-mail as well. And as I had already written an
e-mail search engine (@t{mu}), it seemed only logical to use that as a
basis.
@node Other mail clients @node Other mail clients
@section Other mail clients @section Other mail clients
@ -142,9 +144,11 @@ Under the hood, @t{mu4e} is fully search-based, similar to programs like
@t{notmuch}@footnote{@url{http://notmuchmail.org}}, @t{notmuch}@footnote{@url{http://notmuchmail.org}},
@t{md}@footnote{@url{https://github.com/nicferrier/md} (inactive)} and @t{md}@footnote{@url{https://github.com/nicferrier/md} (inactive)} and
@t{sup}@footnote{@url{http://sup.rubyforge.org/} @t{sup}@footnote{@url{http://sup.rubyforge.org/}
(unreachable)}. However, @t{mu4e}'s user-interface is quite (unreachable)}.
different. @t{mu4e}'s mail handling (deleting, moving etc.) is inspired
by @emph{Wanderlust}@footnote{@url{http://www.gohome.org/wl/}} (another However, @t{mu4e}'s user-interface is quite different. @t{mu4e}'s mail
handling (deleting, moving etc.) is inspired by
@emph{Wanderlust}@footnote{@url{http://www.gohome.org/wl/}} (another
@code{emacs}-based e-mail client), @code{emacs}-based e-mail client),
@t{mutt}@footnote{@url{http://www.mutt.org/}} and @t{dired}. @t{mutt}@footnote{@url{http://www.mutt.org/}} and @t{dired}.
@ -178,11 +182,11 @@ efficiently as possible.
@node Becoming a mu4e user @node Becoming a mu4e user
@section Becoming a @t{mu4e} user @section Becoming a @t{mu4e} user
If @t{mu4e} looks like something for you, give it a shot! We've been If @t{mu4e} looks like something for you, give it a shot! We're trying
trying hard to make it as easy as possible to set up and use; and while hard to make it as easy as possible to set up and use; and while you can
you can use elisp in various places to augment @t{mu4e}, a lot of use elisp in various places to augment @t{mu4e}, a lot of knowledge
knowledge about programming or elisp shouldn't be required. The idea is about programming or elisp shouldn't be required. The idea is to provide
to provide sensible defaults, and allow for customization. sensible defaults, and allow for customization.
When you take @t{mu4e} into use, it's a good idea to subscribe to the When you take @t{mu4e} into use, it's a good idea to subscribe to the
@t{mu}/@t{mu4e}-mailing @t{mu}/@t{mu4e}-mailing
@ -196,10 +200,10 @@ details. Also, if it is about the behavior for specific messages, please
attach the raw message (that is, the message file as it exists in your attach the raw message (that is, the message file as it exists in your
maildir); you can of course strip off any personal information. maildir); you can of course strip off any personal information.
If you are new to all this, the somewhat paternalistic @emph{``How to ask If you are new to all of this, the somewhat paternalistic @emph{``How to
questions the smart ask questions the smart
way''}@footnote{@url{http://www.catb.org/esr/faqs/smart-questions.html}} may way''}@footnote{@url{http://www.catb.org/esr/faqs/smart-questions.html}}
be a good read. may be a good read.
@node Getting started @node Getting started
@chapter Getting started @chapter Getting started
@ -481,10 +485,9 @@ update at all. After you make changes to @code{mu4e-update-interval},
@subsection Handling errors during mail retrieval @subsection Handling errors during mail retrieval
If the mail-retrieval process returns with a non-zero exit code, If the mail-retrieval process returns with a non-zero exit code,
@t{mu4e} will show a warning (unless @t{mu4e} shows a warning (unless @code{mu4e-index-update-error-warning}
@code{mu4e-index-update-error-warning} is set to @code{nil}), but then is set to @code{nil}), but then try to index your maildirs anyway
try to index your maildirs anyway (unless (unless @code{mu4e-index-update-error-continue} is set to @code{nil}).
@code{mu4e-index-update-error-continue} is set to @code{nil}).
Reason for these defaults is that some of the mail-retrieval programs Reason for these defaults is that some of the mail-retrieval programs
may return non-zero, even when the updating process succeeded; however, may return non-zero, even when the updating process succeeded; however,
@ -3688,10 +3691,10 @@ devices) and here's the RFC with all the details:
@url{http://www.ietf.org/rfc/rfc2646.txt}. @url{http://www.ietf.org/rfc/rfc2646.txt}.
To add this to outgoing mu4e emails, activate @t{use-hard-newlines} and To add this to outgoing mu4e emails, activate @t{use-hard-newlines} and
use only @t{M-q} or @t{fill-paragraph} for your paragraphs, Emacs will use only @t{M-q} or @t{fill-paragraph} for your paragraphs, Emacs
indicate intra-paragraph breaks with soft newlines and inter-paragraph indicates intra-paragraph breaks with soft newlines and inter-paragraph
breaks with hard newlines. When the Gnus code sees these on outgoing breaks with hard newlines. When the Gnus code sees these on outgoing
emails, it will automatically set @t{format=flowed}. emails, it automatically sets @t{format=flowed}.
To enable this, you can use something like this in your init.el: To enable this, you can use something like this in your init.el:
@ -3707,10 +3710,10 @@ To enable this, you can use something like this in your init.el:
@node Known issues @node Known issues
@section Known issues @section Known issues
Although they are not really @emph{questions}, we end this chapter with a list Although they are not really @emph{questions}, we end this chapter with
of known issues and/or missing features in @t{mu4e}. Thus, users won't have to a list of known issues and/or missing features in @t{mu4e}. Thus, users
search in vain for things that are not there (yet), and the author can use it won't have to search in vain for things that are not there (yet), and
as a todo-list. the author can use it as a todo-list.
@itemize @itemize
@item @emph{mu4e does not work well if the @command{emacs} language environment is not @item @emph{mu4e does not work well if the @command{emacs} language environment is not
@ -3754,6 +3757,10 @@ github-repository.
@node Multiple accounts @node Multiple accounts
@section Multiple accounts @section Multiple accounts
@b{Note}: - for @t{mu4e} version 0.9.16 and higher, the recommended way
to deal with multiple accounts is through @t{mu4e}'s built-in
@ref{Contexts} system. For older versions, the below still works.
Using mu4e with multiple email accounts is fairly easy. Although Using mu4e with multiple email accounts is fairly easy. Although
variables such as @code{user-mail-address}, @code{mu4e-sent-folder}, variables such as @code{user-mail-address}, @code{mu4e-sent-folder},
@code{message-*}, @code{smtpmail-*}, etc. typically only take one value, @code{message-*}, @code{smtpmail-*}, etc. typically only take one value,
@ -3818,7 +3825,7 @@ use the same smtp server for both accounts, you don't need to include
the smtp-related variables in @code{my-mu4e-account-alist}. the smtp-related variables in @code{my-mu4e-account-alist}.
Note that some SMTP servers (such as Gmail) require the SMTP username to Note that some SMTP servers (such as Gmail) require the SMTP username to
match the user mail address. In this case your mail will appear to match the user mail address. In this case, your mail is appear to
originate from whichever SMTP account you use. Thus unless you are originate from whichever SMTP account you use. Thus unless you are
certain your SMTP server does not have this requirement, you should certain your SMTP server does not have this requirement, you should
generally use different SMTP account credentials for each mail account. generally use different SMTP account credentials for each mail account.
@ -3853,8 +3860,8 @@ This function then needs to be added to @code{mu4e-compose-pre-hook}:
(add-hook 'mu4e-compose-pre-hook 'my-mu4e-set-account) (add-hook 'mu4e-compose-pre-hook 'my-mu4e-set-account)
@end lisp @end lisp
This way, @code{my-mu4e-set-account} will be called every time you edit This way, @code{my-mu4e-set-account} is called every time you edit a
a message. If you compose a new message, it simply asks you for the message. If you compose a new message, it simply asks you for the
account you wish to send the message from (TAB completion works). If account you wish to send the message from (TAB completion works). If
you're replying or forwarding a message, or editing an existing draft, you're replying or forwarding a message, or editing an existing draft,
the account is chosen automatically, based on the first component of the the account is chosen automatically, based on the first component of the