mirror of https://github.com/djcb/mu.git
* update some documentation
This commit is contained in:
parent
e5448adbb8
commit
b16aab5b3d
6
TODO
6
TODO
|
@ -24,12 +24,14 @@
|
||||||
- check if we can speed up mu4e-proc parsing by using search rather than
|
- check if we can speed up mu4e-proc parsing by using search rather than
|
||||||
regexp search
|
regexp search
|
||||||
- show maildirs as a tree, not a list in speed bar
|
- show maildirs as a tree, not a list in speed bar
|
||||||
- better naming for draft buffers
|
|
||||||
- review emacs menus
|
- review emacs menus
|
||||||
|
- re-factor / separate window/buffer management
|
||||||
|
- enable keeping message view buffers around
|
||||||
|
- better naming for draft/view buffers
|
||||||
- header updating interferes with marks (when updating for 'mark as read',
|
- header updating interferes with marks (when updating for 'mark as read',
|
||||||
when reading a marked message)
|
when reading a marked message)
|
||||||
- enable keeping message view buffers around
|
|
||||||
- tooltip for flags field
|
- tooltip for flags field
|
||||||
|
- set/unset flag editing command
|
||||||
- handling of database upgrades
|
- handling of database upgrades
|
||||||
- restore point after rerunning a search
|
- restore point after rerunning a search
|
||||||
- opening urls is too eager
|
- opening urls is too eager
|
||||||
|
|
|
@ -38,27 +38,37 @@ Welcome to @t{mu4e}!
|
||||||
later, built on top of the @t{mu} e-mail search engine. @t{mu4e} is optimized
|
later, built on top of the @t{mu} e-mail search engine. @t{mu4e} is optimized
|
||||||
for fast handling of large amounts of e-mail.
|
for fast handling of large amounts of e-mail.
|
||||||
|
|
||||||
|
Some of the features include:
|
||||||
|
|
||||||
|
@itemize
|
||||||
|
@item Fully search-based: there are no folders, only queries
|
||||||
|
@item Fully documented, with example configurations
|
||||||
|
@item UI optimized for speed with quick key strokes for common actions
|
||||||
|
@item Asynchronous: heavy actions never block @t{emacs}
|
||||||
|
@item Rich-text e-mails using @t{org-mode} (experimental)
|
||||||
|
@item Address auto-completion based on your messages -- no need for managing address books
|
||||||
|
@item Extendable using your own custom actions
|
||||||
|
@end itemize
|
||||||
|
|
||||||
This manual goes through the installation of @t{mu4e}, discusses the basic
|
This manual goes through the installation of @t{mu4e}, discusses the basic
|
||||||
configuration, and explains its daily use. It also shows how you can customize
|
configuration, and explains its daily use. It also shows how you can customize
|
||||||
@t{mu4e} for your needs.
|
@t{mu4e} for your needs. At the end of the manual, there are some example
|
||||||
|
configurations, which should help you to get up to speed quickly.
|
||||||
|
|
||||||
At the end of the manual, there are some example configurations, which should
|
Also note the @xref{FAQ - Frequently Anticipated Questions}, and the section
|
||||||
help you to get up to speed quickly.
|
on @xref{Known issues / missing features}, which may save you some time.
|
||||||
|
|
||||||
Also quite useful are the @ref{FAQ - Frequently Anticipated Questions}, and
|
|
||||||
the section on @ref{Known issues / missing features}.
|
|
||||||
|
|
||||||
This manual has been updated for @t{mu}/@t{mu4e} version
|
This manual has been updated for @t{mu}/@t{mu4e} version
|
||||||
@emph{@value{mu4e-version}}.
|
@emph{@value{mu4e-version}}.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Introduction:: How it all begins
|
* Introduction:: How it all began
|
||||||
* Getting started:: Setting things up
|
* Getting started:: Setting things up
|
||||||
* Running mu4e:: Daily use
|
* Running mu4e:: Daily use
|
||||||
* Searching:: Some more details about queries and searching
|
* Searching:: Some more background on searching/queries
|
||||||
* Marking:: Marking messages
|
* Marking:: Marking messages and performing actions
|
||||||
* Actions:: Defining and using custom actions
|
* Actions:: Defining and using custom actions
|
||||||
* Interaction with other tools:: Integrating mu4e
|
* Interaction with other tools:: mu4e and the rest of the world
|
||||||
* Example configuration:: Some examples to set you up quickly
|
* Example configuration:: Some examples to set you up quickly
|
||||||
* FAQ - Frequently Anticipated Questions:: Common questions and answers
|
* FAQ - Frequently Anticipated Questions:: Common questions and answers
|
||||||
* Known issues / missing features:: mu4e is not perfect yet
|
* Known issues / missing features:: mu4e is not perfect yet
|
||||||
|
@ -72,26 +82,32 @@ Appendices
|
||||||
@node Introduction
|
@node Introduction
|
||||||
@chapter Introduction
|
@chapter Introduction
|
||||||
|
|
||||||
Let's get started!
|
Welcome to @t{mu4e}!
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Why another e-mail client?::
|
* Why another e-mail client?::
|
||||||
* Other mail clients::
|
* Other mail clients::
|
||||||
* What mu4e does and does not do::
|
* What mu4e does not do::
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Why another e-mail client?
|
@node Why another e-mail client?
|
||||||
@section Why another e-mail client?
|
@section Why another e-mail client?
|
||||||
|
|
||||||
I'm not sure the world @emph{needs} yet another e-mail client, but maybe
|
Fair question.
|
||||||
|
|
||||||
|
I'm not sure the world @emph{needs} yet another e-mail client, but perhaps
|
||||||
@emph{I} do! I (the author) spend a @emph{lot} of time, professionally and
|
@emph{I} do! I (the author) spend a @emph{lot} of time, professionally and
|
||||||
privately, dealing with e-mail messdae and therefore, having an efficient
|
privately, dealing with e-mail messdae and therefore, having an efficient
|
||||||
e-mail client is essential for me. Since none of the existing ones worked the
|
e-mail client is essential for me. Since none of the existing ones worked the
|
||||||
way I wanted, I created my own.
|
way I wanted, I created my own.
|
||||||
|
|
||||||
While having been created for such selfish reasons, @t{mu4e} tries hard to be
|
As @t{emacs} is such an integral part of my workflow, it made a lot of sense
|
||||||
as useful as possible for all its users - suggestions are very welcome and are
|
to integrate my e-mail client with it. And as I already had written an e-mail
|
||||||
acted upon.
|
search engine (@t{mu}), it seemed only logical to use that as a basis.
|
||||||
|
|
||||||
|
Even though I created @t{mu4e} for such selfish reasons, @t{mu4e} tries hard
|
||||||
|
to be as useful as possible for @emph{all} its users - suggestions are very
|
||||||
|
welcome and many have already made it to @t{mu4e}.
|
||||||
|
|
||||||
@node Other mail clients
|
@node Other mail clients
|
||||||
@section Other mail clients
|
@section Other mail clients
|
||||||
|
@ -105,14 +121,14 @@ user-interface is quite different from those programs.
|
||||||
@t{mu4e}'s mail handling (deleting, moving etc.) is inspired by
|
@t{mu4e}'s mail handling (deleting, moving etc.) is inspired by
|
||||||
@emph{Wanderlust}@footnote{@url{http://www.gohome.org/wl/}} (another
|
@emph{Wanderlust}@footnote{@url{http://www.gohome.org/wl/}} (another
|
||||||
emacs-based e-mail client), @t{mutt}@footnote{@url{http://www.mutt.org/}} and
|
emacs-based e-mail client), @t{mutt}@footnote{@url{http://www.mutt.org/}} and
|
||||||
@t{dired}, while it takes some cues from @emph{Gmail}.
|
@t{dired}, while it also takes some cues from @emph{Gmail}.
|
||||||
|
|
||||||
@t{mu4e} tries to keep all the 'state' in your maildirs, so you can easily
|
@t{mu4e} tries to keep all the 'state' in your maildirs, so you can easily
|
||||||
switch between clients, synchronize over @abbr{IMAP} or backup with @t{rsync}
|
switch between clients, synchronize over @abbr{IMAP}, backup with @t{rsync}
|
||||||
-- if you delete the database, you won't lose any information.
|
and so on. If you delete the database, you won't lose any information.
|
||||||
|
|
||||||
@node What mu4e does and does not do
|
@node What mu4e does not do
|
||||||
@section What mu4e does and does not do
|
@section What mu4e does not do
|
||||||
|
|
||||||
@t{mu} and @t{mu4e} do @emph{not} deal with getting your e-mail messages from
|
@t{mu} and @t{mu4e} do @emph{not} deal with getting your e-mail messages from
|
||||||
a mail server. That task is delegated to other tools, such as
|
a mail server. That task is delegated to other tools, such as
|
||||||
|
@ -165,9 +181,12 @@ Ubuntu system, you can get these with:
|
||||||
@example
|
@example
|
||||||
sudo apt-get install libgmime-2.4-dev libxapian-dev
|
sudo apt-get install libgmime-2.4-dev libxapian-dev
|
||||||
# emacs if you don't have it yet, mu4e works with GNU-Emacs 23 and 24
|
# emacs if you don't have it yet, mu4e works with GNU-Emacs 23 and 24
|
||||||
|
# emacs 24 works better; it may be available as 'emacs-snapshot'
|
||||||
sudo apt-get install emacs23
|
sudo apt-get install emacs23
|
||||||
# optional
|
# optional
|
||||||
sudo apt-get install guile-2.0-dev html2text xdg-utils
|
sudo apt-get install guile-2.0-dev html2text xdg-utils
|
||||||
|
# optional: only needed for msg2pdf
|
||||||
|
sudo apt-get install libwebkit-dev
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Using a release-tarball (as avaiable from
|
Using a release-tarball (as avaiable from
|
||||||
|
@ -183,7 +202,7 @@ $ sudo make install
|
||||||
|
|
||||||
Alternatively, if you build from the git repository, or use a tarball like the
|
Alternatively, if you build from the git repository, or use a tarball like the
|
||||||
ones that @t{github} produces, the instructions are slightly different (and
|
ones that @t{github} produces, the instructions are slightly different (and
|
||||||
require you to have the autotools installed):
|
require you to have @t{autotools} installed):
|
||||||
|
|
||||||
@example
|
@example
|
||||||
# get from git, or from a github tarball
|
# get from git, or from a github tarball
|
||||||
|
@ -203,8 +222,8 @@ You may need to restart @t{emacs}.
|
||||||
|
|
||||||
There is @emph{experimental} support for using the @t{emacs} customization
|
There is @emph{experimental} support for using the @t{emacs} customization
|
||||||
system in @t{mu4e}, but for now, we recommend setting the values
|
system in @t{mu4e}, but for now, we recommend setting the values
|
||||||
manually. Please refer to @ref{Example configuration} for a couple of examples
|
manually. Please refer to @xref{Example configuration} for a couple of
|
||||||
of this.
|
examples of this.
|
||||||
|
|
||||||
@node Getting mail
|
@node Getting mail
|
||||||
@section Getting mail
|
@section Getting mail
|
||||||
|
@ -981,7 +1000,7 @@ auto-completion should work with emacs versions 23.2 and later.
|
||||||
|
|
||||||
Address auto-completion is enabled by default, using the variable
|
Address auto-completion is enabled by default, using the variable
|
||||||
@t{mu4e-compose-complete-addresses}.
|
@t{mu4e-compose-complete-addresses}.
|
||||||
|
|
||||||
@subsection Limiting the number of addresses for autocompletion
|
@subsection Limiting the number of addresses for autocompletion
|
||||||
|
|
||||||
If you have a lot of mail, especially from mailing lists and the like, there
|
If you have a lot of mail, especially from mailing lists and the like, there
|
||||||
|
@ -2040,8 +2059,8 @@ can also use functions like @code{mu4e-headers-mark-thread} (@key{T}),
|
||||||
time, and @code{mu4e-headers-mark-pattern} (@key{%}) to mark all messages
|
time, and @code{mu4e-headers-mark-pattern} (@key{%}) to mark all messages
|
||||||
matching a certain regular expression.
|
matching a certain regular expression.
|
||||||
@item @emph{How can I use @t{BBDB}?} Currently, there is no built-in for
|
@item @emph{How can I use @t{BBDB}?} Currently, there is no built-in for
|
||||||
address management with @t{BBDB}; instead, we recommend @ref{Maintaining an
|
address management with @t{BBDB}; instead, we recommend using @t{mu4e}'s
|
||||||
address-book with org-contacts} for now.
|
built-in @ref{Address autocompletion}.
|
||||||
@item @emph{mu4e seems to return a mere subset of all matches - how can I get
|
@item @emph{mu4e seems to return a mere subset of all matches - how can I get
|
||||||
all?}. Indeed, for speed reasons (and because, if you are like the author, you
|
all?}. Indeed, for speed reasons (and because, if you are like the author, you
|
||||||
usually don't need thousands of matches), @t{mu4e} returns only up to the
|
usually don't need thousands of matches), @t{mu4e} returns only up to the
|
||||||
|
@ -2075,7 +2094,6 @@ seems to work quite well.
|
||||||
@item @emph{Can I automatically apply the marks on messages when
|
@item @emph{Can I automatically apply the marks on messages when
|
||||||
leaving the headers buffer?} Yes you can -- see the documentation on
|
leaving the headers buffer?} Yes you can -- see the documentation on
|
||||||
@t{mu4e-headers-leave-behavior}.
|
@t{mu4e-headers-leave-behavior}.
|
||||||
@item @emph{Can I influence the way @t{mu4e} does address autocompletion?} Yes: @ref{Address autocompletion}
|
|
||||||
@item @emph{How can I automatically apply word-wrapping (and hiding cited
|
@item @emph{How can I automatically apply word-wrapping (and hiding cited
|
||||||
parts) when viewing a message?} See the documentation on
|
parts) when viewing a message?} See the documentation on
|
||||||
@t{mu4e-view-wrap-lines} (and @t{mu4e-view-hide-cited}). You can always toggle
|
@t{mu4e-view-wrap-lines} (and @t{mu4e-view-hide-cited}). You can always toggle
|
||||||
|
|
|
@ -90,6 +90,8 @@ mu_str_normalize_in_place_generic (char *str, gboolean downcase, GStringChunk *s
|
||||||
* longer than the original. even for replacements that are 2 chars
|
* longer than the original. even for replacements that are 2 chars
|
||||||
* wide (e.g. German ß => ss), the replacement is 2 bytes, like the
|
* wide (e.g. German ß => ss), the replacement is 2 bytes, like the
|
||||||
* original 0xc3 0x9f
|
* original 0xc3 0x9f
|
||||||
|
*
|
||||||
|
* note-to-self: http://www.geertvanderploeg.com/unicode-gen/
|
||||||
*/
|
*/
|
||||||
char*
|
char*
|
||||||
mu_str_normalize_in_place_try (char *str, gboolean downcase, GStringChunk *strchunk)
|
mu_str_normalize_in_place_try (char *str, gboolean downcase, GStringChunk *strchunk)
|
||||||
|
|
Loading…
Reference in New Issue