1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-29 07:51:04 +02:00
Commit Graph

221 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema
26dca831c6 mu4e: automatically rebuild database when possible 2019-07-30 08:51:04 +03:00
djcb
7563b89c9c mu4e: support incremental contacts 2019-05-11 13:41:03 +03:00
Alex Branham
2674ca5583
mu4e: Replace cl with cl-lib 2019-01-04 16:03:58 -06:00
ibizaman
a0c2cf2313 allow :query to accept a function returning a query string
This allows one to dynamically generate the query string, based for
example on the value of a variable.
2018-11-10 22:30:25 -08:00
djcb
69ed3498bb mu4e: mu4e-index-updated-hook should not depend on mu4e~contacts 2018-11-04 13:20:20 +02:00
Dirk-Jan C. Binnema
aeb6718da6
Merge pull request #1161 from gambhiro/modeline-max-width
mu4e: shorten modeline str if longer than max-width
2018-04-25 11:32:15 +03:00
James P. Ascher
82bf333fab updated fontify-signature for RFC 1153 compliant digest messages 2018-04-03 14:50:28 -04:00
djcb
aef46ec14f mu4e: add some support for the mux backend 2018-02-11 12:02:53 +02:00
Gambhiro
b95fb8b95a shorten modeline str if longer than max-width 2017-12-03 15:27:16 +00:00
Vladimir Sedach
9420d088eb mu4e: Added new mu4e-split-view mode: single-window
Single-window mode is meant to minimize mu4e window operations (opening,
killing, resizing, etc) and buffer changes, while still retaining the
view and headers buffers. In addition, it replaces mu4e main view with a
minibuffer prompt containing the same information.
2017-05-31 20:52:59 -07:00
djcb
34d5c61930 mu4e: try a little harder to get contacts
Some people reported problems with completing contacts. It's unclear
what's going on there. Maybe this helps.
2017-05-06 13:12:38 +03:00
djcb
87ed69ee03 mu4e: auto-delete after 30 secs instead of 10
Don't auto-delete files too soon (before they can be used), even on
slower systems.
2017-04-02 16:39:21 +03:00
djcb
7729948d74 mu4e: utils: whitespace cleanups 2017-03-18 10:10:46 +02:00
Ian Kelling
c6d297b402 mu4e: improve `mu4e-get-maildirs' docstring 2017-02-28 04:15:27 -08:00
djcb
600955eebc mu4e: rename msg->message in mu4e-message-changed-hook 2017-01-15 15:41:16 +02:00
Dirk-Jan C. Binnema
f49e808160 Merge pull request #993 from dzop/master
mu4e: Use re-search-forward to find message signatures
2016-12-28 13:40:56 +02:00
Nathaniel Nicandro
9c884ee498 Use re-search-forward to find message signatures 2016-12-27 12:27:39 -06:00
djcb
b6985e13cb mu4e: killing instead of interrupting update process
Rename mu4e-interrupt-update-mail into mu4e-kill-update-mail, and it
kill rather than update the process.

Add backward-compat alias.
2016-12-27 16:52:20 +02:00
djcb
d6337ade1c mu4e: index: only clear echo area when asked to
In `mu4e-hide-index-message`-mode, don't clear the echo area.
Fixes #925.
2016-10-29 11:50:33 +03:00
Dirk-Jan C. Binnema
5097dd8e1b Merge pull request #909 from sachdevaprash/master
mu4e: Adding eshell/mu4e-attach allowing attachments from eshell.
2016-09-03 11:27:49 +03:00
Dirk-Jan C. Binnema
dd1c0325f9 Merge pull request #912 from j-hao/master
mu4e: add mu4e-msg-changed-hook
2016-09-03 11:25:49 +03:00
Prashant Sachdeva
eef00e7263 Removing the dependencies on gnus in eshell/mu4e-attach. 2016-08-28 10:03:02 +09:00
Christophe Troestler
dc3bffa186 Compare email addresses case insensitively 2016-08-28 00:30:29 +02:00
Jun Hao
35c6d4ab8b mu4e: add mu4e-msg-changed-hook 2016-08-25 10:03:35 +08:00
Remco van 't Veer
9e6bfb9075 Fix kill ring clobbering by get mail filter
The kill ring fills up with lines like:

  C: 0/1  B: 28/29  M: +0/0 *0/0 #0/0  S: +2/2 *1/1 #0/0

when using mbsync or another tool using carriage return for progress.
2016-08-02 09:00:46 +03:00
djcb
f7be5ef2ff mu4e: make bookmarks a defstruct
Make the structures use for mu4e-bookmarks a defstruct, and update its
usage throughout the codebase. This makes it a bit easier to read and
extend.

Ensure that the old-style bookmarks are automatically converted.
2016-07-31 11:20:59 +03:00
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
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
djcb
59666a7eda * mu4e: automatically refresh the contacts list when there are changes in the index 2013-06-29 17:06:04 +03:00
djcb
72e6fb997a * mu4e: make the byte-compiler happy 2013-06-29 13:07:32 +03:00
djcb
76a87ded2d * mu4e-utils: support the new format for the contacts list 2013-06-16 23:05:52 +03:00
joost
aefa144421 handle the case where phrase is empty 2013-06-05 10:19:08 +02:00
djcb
34c84a1258 * mu4e: fix mu4e-message 2013-06-03 23:35:01 +03:00