Commit Graph

126 Commits

Author SHA1 Message Date
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
djcb 1fca0be451 * mu4e: some improvements in the update-mail window behaviour (wip) 2013-10-19 13:32:01 +03:00
djcb 2df31c8a71 * mu4e: restore the old update-buffer behaviour 2013-10-19 12:39:40 +03:00
Thierry Volpiatto 78ffccfb2d * mu4e/mu4e-utils.el (mu4e-update-mail-and-index): Don't run a new process if one is already running. 2013-10-16 15:08:12 +02:00
djcb b92e2d20fd * mu4e: fix some minor things in the main page 2013-10-14 22:30:29 +03:00
djcb 9abaf83fbd * mu4e: don't balk on searches with no results and some cleanups 2013-10-14 00:07:27 +03:00
djcb 8be5e92709 * mu4e: fix display of images 2013-10-13 23:24:56 +03:00
djcb 92158cfdd4 * mu4e: add hooks mu4e-headers-found-hook and mu4e-update-pre-hook, document them. 2013-10-13 21:44:47 +03:00
djcb 66ebdf21e0 * mu4e: don't try to kill the visible window when there is none (thanks to thierryvolpiatto) 2013-10-13 19:48:08 +03:00
djcb 03ae06532f * mu4e: some cleanups 2013-10-12 16:04:40 +03:00
djcb 347b41c951 * cosmetic 2013-10-12 14:12:42 +03:00
Thierry Volpiatto f650eec98c * mu4e/mu4e-utils.el (mu4e~update-mail-mode): New mode to use when updating emails.
(mu4e-update-mail-and-index): Use it.
2013-10-10 11:42:21 +02:00
Thierry Volpiatto ac89861b96 * mu4e/mu4e-main.el (mu4e-interrupt-update-mail): Move to mu4e-utils.el.
* mu4e/mu4e-utils.el (mu4e~interrupt-update-mail): Renamed with mu4e~ prefix and add docstring.
(mu4e--update-buffer-name): same.
2013-10-09 06:38:02 +02:00
Thierry Volpiatto 4bfaedd739 * mu4e/mu4e-utils.el (mu4e-update-mail-and-index): Don't make window dedicated. 2013-10-08 14:55:23 +02:00
Thierry Volpiatto 8da15dc8f2 * mu4e/mu4e-main.el (mu4e-interrupt-update-mail): New function to stop update process.(SIGINT) (mu4e~main-view): Use it and bind it to S.
* mu4e/mu4e-utils.el (mu4e-update-mail-and-index): Fix Window and buffer process.
2013-10-08 14:44:26 +02:00
Stuart Hickinbottom 6e8e9ec44a New flexible method of customising completing-read
Added the customisation option 'mu4e-completing-read-function' which can
be used to choose which method of input-with-completion will be used by
mu4e. This variable is set to the function which mu4e will use.

By default, mu4e will use ido (via 'ido-completing-read'), but any
compatible completing-read function can be used instead. Interesting
choices would include 'helm-comp-read' for Helm-based completion, and
'completing-read' for the built-in basic completion system.
2013-09-12 22:42:45 +01:00
djcb fa6d63af43 * mu4e-utils: fix display of messages only consisting of an image 2013-08-11 15:28:30 +03:00
djcb beffb8072b * mu4e: add variable mu4e-hide-index-messages 2013-08-11 14:37:19 +03:00
djcb f7eefcf37a * cosmetics 2013-08-11 14:12:09 +03:00
djcb b26bd3a4e7 * mu4e: do a better job of trying to show images (without delay) 2013-07-06 11:51:33 +03:00