Commit Graph

145 Commits

Author SHA1 Message Date
djcb eb7888cdb1 mu4e: support mu indexing performance options
Add two variables mu4e-index-cleanup and mu4e-index-lazy-check, which
correspond to mu index option --lazy-check and --nocleanup.

Extend the mu server protocol a bit to handle this.

The defaults keep things behaving as they done before.
2016-07-23 21:33:10 +03:00
djcb 1945ab3bce mu4e: handle foo> citation style
Handle the citation style where the cited part is prefixed with
eg. "foo> " instead of the normal ">".

Also improve the default color scheme a bit.
2016-07-10 21:45:52 +03:00
Remco van 't Veer b203226a06 Handle mbsync output in mu4e-update buffer
The mbsync command uses carriage return characters to go to the
beginning of the line.
2016-07-08 14:12:30 +02:00
djcb ed16684f45 mu4e: cosmetics 2016-06-08 19:25:52 +03:00
djcb bd0fd4b8d8 mu4e: ensure filename is valid for removing it later
lexical-let the filename to be removed later, so it's still valid.
2016-05-16 09:22:11 +03:00
Jun Hao d16957dc97 mu4e: handle attached image when write msg body to html 2016-05-07 09:07:11 +08:00
Jun Hao 0bd19fc40c mu4e: add mu4e-index-update-in-background
Give users choice to decide if they want to run automatic
mu4e-index-update in background or not
2016-03-06 22:03:37 +08:00
djcb ace2f2ad2c mu4e: clean up creating html files
Clean up the creation of html files a bit, and automatically clean them
up after a short while, so we don't clutter /tmp.

Refactor the html-generating actions, so we don't repeat ourselves too
much.
2016-02-20 11:21:24 +02:00
djcb 961dba6d3e mu4e: by default, don't ignore any address
If set to nil, mu4e-compose-complete-ignore-address-regexp shouldn't
match anything.
2016-02-18 19:28:21 +02:00
djcb 91b622dc16 mu4e: fix logic in mu4e~process-contact 2016-02-17 22:49:03 +02:00
djcb 81c7786402 mu4e: make mu4e~read-char-choice case-insensitive
Make mu4e~read-char-choice case insensitive if there is no exact
match. Small convenience.
2016-02-17 20:01:18 +02:00
djcb 76dd849d06 mu4e: allow mu4e-compose-complete-ignore-address-regexp nil
Though it shouldn't, some users have
mu4e-compose-complete-ignore-address-regexp at nil, which gives errors
with the new contacts code. Be a bit more tolerant.
2016-02-17 19:50:13 +02:00
Yuri D'Elia 6337151918 mu4e: also quote the context label in the modeline 2016-02-16 08:28:59 +02:00
djcb 967b3cb727 mu4e: update copyright years 2016-01-09 21:28:03 +02:00
djcb 144e2a8f1b mu4e: Contact completion - better sorting / display
Improve the contact-sorting algorithm, and make it better cooperate with
completion-at-point functions.

Also deal better with broken rewritten contacts, and document how
rewriting should done (docstrings and reference doc).
2016-01-09 21:27:52 +02:00
djcb 785d888b42 mu4e: don't change context when already running
This is for the case where mu4e-compose trigger mu4e~start, as found by
thierryvolpiatto.
2016-01-03 15:53:58 +02:00
djcb 5e13d31450 mu4e: tweak the contact sorting
Fall back to freq / tstamp when both contacts are personal.
2016-01-03 15:53:07 +02:00
djcb a085c881ef mu4e: don't change context at startup when there is one
Since people often go start/stop mu4e, we shouldn't try to pick a
default context if one is already set.
2015-12-30 17:39:59 +02:00
djcb 9da7fbb3de mu4e: cosmetics 2015-12-30 15:35:26 +02:00
djcb 02620af4c2 mu/mu4e: improve in contacts completion
mu: cleanup server side; make sure not to loose 'personal' flag when
    seeing same contact in non-personal context
mu4e: tweak the sorting algorithm a bit to take the personal flag into
    account
2015-12-30 15:33:27 +02:00
djcb f645a12075 mu4e: improve sorting of contacts for completion
set up the extra machinery for making sure emacs does not try to re-sort
our already-sorted contacts.... Also try to improve the sorting strategy
itself.
2015-12-29 18:53:57 +02:00
djcb 7dff782c58 mu4e: let-bind context vars in mu4e-get-*-folder
When we determine the drafts/refile/trash/sent folder, see if we can
find a context matching the particular message. If we find one, let-bind
the vars for that context before determining the folder.

This allows e.g for moving message to context-specific folder, rather
than the one for the current context - useful when dealing with headers
buffers with message belonging to different contexts.
2015-12-29 18:47:12 +02:00
djcb 6fa9556aa8 mu4e: improve mu4e-contact-rewrite-function
Allow mu4e-contact-rewrite-function to return nil to remove a
contact. Improve documentation.
2015-12-26 13:26:26 +02:00
djcb ed1c7edba3 mu4e: some more context tweaking
Fix some typo, change default for startup to pick-first.
2015-12-24 16:03:55 +02:00
djcb 113c024632 mu4e: implement context-policies
Allow setting a policy about what context to choose when starting mu4e
and composing a message. Basically:

When you have defined contexts and you start mu4e it decides which
context to use based on the variable `mu4e-context-policy';
similarly, when you compose a new message, the context is determined
using `mu4e-compose-context-policy'.

These policies can be one of the following:
- a symbol always-ask: unconditionally ask the user what context to pick

The other choices only apply if none of the context matches (i.e., if
none of the contexts' match-functions returns t:

- symbol ask: ask the user
- a symbol pick-first: pick the first context
- nil: don't change the context
2015-12-23 22:01:51 +02:00
djcb 27e9251d24 mu4e: add mu4e-bookmark-define
mu4e-bookmark-define allows for defining a bookmark; it will be added to
mu4e-bookmarks, replacing any bookmarks with the same key.
2015-12-22 18:03:53 +02:00
djcb 41677dfa0b mu4e: cosmetic 2015-12-21 22:24:16 +02:00
djcb 1a0ad61e4d mu4e: by default, don't cache maildirs
Since the environment (and settings) can change, default to
re-calculating the maildirs when we need them. When you have so many
maildirs that this is slow, you can set mu4e-cache-maildir-list to
t (but be sure to read the docstring).
2015-12-19 13:59:18 +02:00
djcb a1d0071dd0 mu4e: contexts: auto select one at startup, document
When contexts have been defined, automatically select one at startup --
either the first whose match-function returns non-nil, or simply the
first one.

Document this, too.
2015-12-15 18:20:31 +02:00
djcb 2262e185af mu4e: allow for clearing some cached values
This helpful for various 'change account' actions
2015-12-04 23:20:27 +02:00
Hinrik Örn Sigurðsson 77529b105e Allow specifying list shortnames with regexes
This way mu4e will intelligently shorten mailing list names which
contain dots:

    (setq mu4e-mailing-list-patterns
          '("\\([a-z0-9.]+\\)\.lists\.company\.com"))
2015-11-14 00:04:26 +00:00
djcb ada193c8fd Don't raise 'Update process is already running' error
Only issue a message. Refactor a bit.

This is for the use-case where the time to update is longer than the
period between updates -- e.g. you return from suspension/hibernation
and an old update process is still running.
2015-10-13 07:05:55 +03:00
djcb 041a79fdb5 mu4e: add NEWS(.org) as a main menu item 2015-06-09 21:08:02 +03:00
djcb 823d80f075 mu4e: allow lisp expressions for bookmarks
based on an idea by davidcsterratt
2014-12-01 23:29:40 +02:00
djcb 664431bf8c mu4e: improve mail-retrieval error handling
Add two new customization variables:
  mu4e-index-update-error-continue
  mu4e-index-update-error-warning

With these, we can configure what happens when the mail-retrieval
program finishes with a non-zero exit code.

Make the default to warn but continue; it seems quite some users got
bitten by the old behavior of not updating after an error (which may
only be a pseudo-error). offlineimap/mbsync do not document their exit
codes very well, unlike fetchmail.

Also update manual for this.
2014-11-30 11:33:31 +02:00
djcb efb40abaa1 Guard against nil in mu4e~guess-maildir (Fixes #472)
Add a guard so we don't error out if string-match evaluates to nil
2014-09-23 00:36:31 +03:00
djcb 8b775ab238 * mu4e: update the contact-rewriting code a bit:
- make the default nil rather than a dummy (identity) function, for
    speed
  - don't use 'canonical' but the 'rewrite' which is a bit more general
2014-04-06 17:51:12 +01:00
joost d2915b7bb9 fixes #383 2014-03-28 10:24:43 +01:00
Thierry Volpiatto ee2e9d11f3 * mu4e/mu4e-utils.el (mu4e~fontify-cited): remove unsused let var. 2014-03-02 21:04:21 +01:00
Thierry Volpiatto 3835c2e45e * mu4e/mu4e-utils.el (mu4e~fontify-cited): Use string-width.
* mu4e/mu4e-vars.el (mu4e-cited-regexp): Improve it.
2014-03-02 20:58:49 +01:00
Thierry Volpiatto 1e8f97b961 * mu4e/mu4e-utils.el (mu4e~fontify-cited): Simplify.
* mu4e/mu4e-vars.el (mu4e-cited-regexp): Simplify regex and use a group to match the >*.
2014-03-02 08:19:33 +01:00
Thierry Volpiatto 815961acbb * mu4e/mu4e-utils.el (mu4e~fontify-cited): Fix regexp matching cited lines. 2014-03-02 06:16:58 +01:00
sabof e2c8bff298 Moved citation regexps to a variable 2014-02-05 20:24:05 +00:00
sabof d4bcf629c2 Use window-deletable-p 2014-02-03 05:30:29 +00:00
djcb a4646ca502 * mu4e-utils: fix mu4e~temp-window 2014-01-12 12:57:05 +02:00
Dirk-Jan C. Binnema 980f786ae3 Merge pull request #305 from tmalsburg/master
* mu4e: update window stays inside mu4e boundaries
2013-11-16 06:26:41 -08:00
djcb 86aafa7fe0 * mu4e: don't error out if no empty lines are found 2013-10-21 23:17:35 +03:00
Titus von der Malsburg 447a15e9bf mu4e: update window stays inside mu4e boundaries 2013-10-21 11:04:52 +02:00
djcb 9c8101d949 * mu4e: centralize some of the fontification code; cleanup signature support 2013-10-20 15:41:47 +03:00
djcb 55d6057dac * mu4e: some more work on the updating process 2013-10-19 16:36:17 +03:00