1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-21 06:56:48 +02:00
Commit Graph

244 Commits

Author SHA1 Message Date
Jonas Bernoulli
6790c0d015 mu4e: Fix indentation 2020-02-17 14:28:00 +01:00
Dirk-Jan C. Binnema
8ff7306d90 mu4e: set context before check requirements
So we won't ask about creating default maildirs
2020-02-10 18:08:34 +02:00
Dirk-Jan C. Binnema
e1e26d1da2 mu4e: update to use server maildir/database/addresses
Mkae mu4e-maildir and mu4e-personal-addresses obsolete, we get those
from the server.
2020-02-09 00:15:49 +02:00
Dirk-Jan C. Binnema
ac4f5f754a mu4e: remove maildir arg from proc-add/proc-sent calls
The server doesn't want that parameter anymore, so we can simplify
things a bit.
2020-02-02 00:23:34 +02:00
Dirk-Jan C. Binnema
c707feb30f mu4e-utils: update main-view when index changed
When the main-view is visible, update it when the index changed (e.g.
for the read/unread numbers).

Clean up the info handler a bit.
2020-01-31 21:16:13 +02:00
Dirk-Jan C. Binnema
ad5f7d8dad mu4e: make mu4e refresh itself
update using the 'ping' function, so read/unread counts get updated.

add a 'g' binding for the main-view.
2020-01-31 00:17:19 +02:00
Dirk-Jan C. Binnema
a7c4fdd029 mu4e/mu4e~start: remove some debugging leftover 2020-01-28 10:01:39 +02:00
Dirk-Jan C. Binnema
dd98203d42 mu4e: fix some compiler warnings 2020-01-28 01:03:40 +02:00
Dirk-Jan C. Binnema
2371847240
Merge pull request #1554 from pedrormjunior/mu4e-update-name
mu4e: use `mu4e~update-name` de facto
2020-01-28 00:37:51 +02:00
Thierry Volpiatto
846428cfd4
Unquote lambda's
* mu4e/mu4e-context.el (mu4e-context-switch):         Do it.
* mu4e/mu4e-contrib.el (mu4e-view-mode-hook):         Do it.
(mu4e-headers-mode-hook):                             Do it.
* mu4e/mu4e-icalendar.el (mu4e-icalendar-reply-ical): Do it.
* mu4e/mu4e-utils.el (mu4e~start):                    Do it.
(mu4e-split-ranges-to-numbers):                       Do it.
2020-01-27 08:41:24 +01:00
Dirk-Jan C. Binnema
6f1513d187 mu4e: only show unread counts for stringp bookmarks
We can't generally do it for non-constant bookmarks.
2020-01-25 21:42:14 +02:00
Dirk-Jan C. Binnema
eb3cac39ee mu4e: implement mu4e-compose-complete-only-after
We weren't supporting that yet after moving to the new command-parser;
let's do so now.

We now pass the time_t as a string, since the parser does not support
floats (and emacs doesn't generally support big ints).
2020-01-25 19:36:31 +02:00
Pedro Ribeiro Mendes Júnior
11590a1cf8 mu4e: use mu4e~update-name de facto
Instead of hard coding the buffer name " *mu4e-update*", use the
buffer name defined in `mu4e~update-name`.  Also, the default name
defined in `mu4e~update-name` were changed to match the previously
hard-coded invisible buffer name.
2020-01-25 10:57:15 -03:00
Dirk-Jan C. Binnema
9f72bd9703 mu4e: convert bookmarks from old format
When creating the 'ping' queries.
2020-01-24 14:21:25 +02:00
Dirk-Jan C. Binnema
a4265bb8e9 mu4e: include unread/all counts for bookmarks
Show the unread/all matches counts in the main-view.
2020-01-22 11:42:15 +02:00
Dirk-Jan C. Binnema
b2bdb8b30c
Merge pull request #1526 from seanfarley/smf/esc
mu4e-util: allow ESC to exit a choice selection
2020-01-21 20:30:56 +02:00
Dirk-Jan C. Binnema
cf594413e2 mu4e: utils: fix indentation 2020-01-13 23:40:23 +02:00
Dirk-Jan C. Binnema
54c2a15ed0 mu4e: make mu4e-bookmarks items simple plists
We don't need cl-defstruct; simplify things a bit.
2020-01-13 23:40:23 +02:00
Dirk-Jan C. Binnema
24a6b71bd0 mu4e: move mu4e-bookmark defstruct to vars
Avoid compilation problem.
2019-12-22 15:26:45 +02:00
Sean Farley
02b5bc805c mu4e-util: allow ESC to exit a choice selection
I occasionally find myself pressing escape to exit a menu choice in mu4e
and it's a bit unfortunate that nothing happens. As best I could tell,
since this is a C call, none of the keymaps are checked for
`(keyboard-quit)' so we need to explicitly check for ESC here.
2019-12-13 16:26:05 -08:00
Jonas Bernoulli
f31d1b065d Fix typos 2019-11-06 16:13:39 +01:00
Dirk-Jan C. Binnema
30865c9d2c mu4e: add mu4e-contacts-info
Add an interactive function mu4e-contacts-info, to display some
information about the contacts cache.
2019-09-26 00:35:23 +03:00
Thierry Volpiatto
9ddd035a1e
Completely use cl-lib and lexical-binding
Previously both cl-lib.el and cl.el were used, now use only cl-lib.el.
Use lexical-binding where needed instead of requiring cl just for
`lexical-let`.
Replace some add-to-list with cl-pushnew as add-to-list is not
recommended in lisp program and anyway doesn't work properly with
lexical binding.
2019-09-14 12:39:51 +02:00
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