Commit Graph

217 Commits

Author SHA1 Message Date
Jonas Bernoulli 36d0b0602e mu4e: extend mu4e-header-highlight-face to edge of window
Due to a breaking change we have to request this explicitly in
Emacs 27.  Earlier Emacs versions do the right thing by default.

If the effect of a face does not extend to the edge of the window,
then attributes such as the background color or underline cease to
be used for more that the width of a single character, which is not
appropriate for a face intended to highlight a complete line.

See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37774.
2020-03-20 22:17:02 +01:00
Dirk-Jan C. Binnema 3ac71ecfbe mu4e: restore mu4e-index-cleanup t
Let's go back to the old default.
2020-03-15 01:23:01 +02:00
Dirk-Jan C. Binnema 46ae663937 mu4e: use faster count queries, document differences
Use faster queries for counting read/unread messages; document why the
results might differ from what you get doing a normal search.
2020-03-15 01:23:01 +02:00
Dirk-Jan C. Binnema e19c6f0cae mu4e: default to mu4e-index-cleanup nil
By default, do _not_ run the clean up phase after indexing; that should be
safe and make indexing a lot faster for some users.
2020-03-11 20:47:25 +02:00
Dirk-Jan C. Binnema 1738f9d6d1 mu4e: Mark mu4e-auto-retrieve-keys as obsolete
It's not used anymore
2020-02-28 12:16:33 +02:00
Dirk-Jan C. Binnema 74d40f4d20 mu4e: make mu4e-maildir-shortcuts a plist
Similar to mu4e-bookmarks.
2020-02-25 21:20:51 +02:00
Dirk-Jan C. Binnema c251a22d65 mu4e: update documentation 2020-02-24 21:58:45 +02:00
Dirk-Jan C. Binnema c4f46966e7 mu4e-vars: add note about message fields / gnus view 2020-02-19 20:55:22 +02:00
Jonas Bernoulli fe7a0e4da2 mu4e: Move various definitions into a better location 2020-02-18 23:49:50 +02:00
Jonas Bernoulli 74332947a0 mu4e: Split libraries into outline sections 2020-02-18 23:49:50 +02:00
Jonas Bernoulli 040c6578be mu4e: Place provide forms in their own sections
Use "_" as the title of that section so that it is less distracting
when sections are collapsed to get an overview of the library.

Using a separate section is useful because it reduces the risk of
accidentally into the middle of a library.
2020-02-18 23:49:50 +02:00
Jonas Bernoulli 83f0c9cea9 mu4e: Remove excess semicolons from library headers
Placing two semicolons on an otherwise empty line helps to logically
"connect" the surrounding "paragraphs", which in (only) some cases
makes sense.

Previously the three paragraphs of the permission statement were not
connected to each other like this, which is perfectly fine.  However
the preceding "This file is not part of GNU Emacs." line was connected
to the first paragraph, which does not make sense considering that the
latter is not connected two the second paragraph, which it relates to
more.

Once those two semicolons are gone, it also makes sense to remove
those from the second line.
2020-02-18 23:49:50 +02:00
Jonas Bernoulli 4c9be1d062 mu4e-header-info: Fix indentation 2020-02-17 14:28:00 +01:00
Jonas Bernoulli 6790c0d015 mu4e: Fix indentation 2020-02-17 14:28:00 +01:00
Dirk-Jan C. Binnema 0dced59cb9 mu4e: set better default for mu4e-compose-reply-ignore-address
... and some small cleanup
2020-02-15 22:36:00 +02:00
Dirk-Jan C. Binnema 0c6719eb96 NEWS.org: update documentation 2020-02-09 03:53:01 +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 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
Dirk-Jan C. Binnema d564157cac mu4e: document bookmark query limitation
They don't use mu4e-query-rewrite-function
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 1631d98b9e mu4e: support hiding bookmarks from main-screen/bookmarks
Using the :hide t property on a bookmark plist. The bookmark is still
available throught the completion mechanism.
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 f6b5fff83e mu4e: add special handling for mailing-list replies 2020-01-11 15:10:37 +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
Vonfry 5c51419f57
mu4e: remove duplicated mu4e-bookmarks define
let custom-set-variables work.
2019-12-22 18:10:43 +08:00
Dirk-Jan C. Binnema 0bc2e605a4 mu4e: clean up org-handling
Load org support by default, unless mu4e-org-support is set to nil.

Turn off speedbar support by default (set mu4e-speedbar-support to t to
re-enable it).

Move the non-obsolete org stuff to mu4e-org. Rename some things from
org-mu4e to mu4e-org.

Remove org-old-mu4e.el
2019-12-10 18:09:03 +02:00
Jonas Bernoulli f31d1b065d Fix typos 2019-11-06 16:13:39 +01:00
Dirk-Jan C. Binnema ed6842e5bd mu4e: inherit mu4e-header-highlight-face from hl-line
...instead of `region'.

Fixes: #1500.
2019-10-27 14:48:01 +02:00
Thierry Volpiatto e4f5576cfc
Add lexical-binding to all files and fix warnings
about free variables (declare) and unused lexical vars (prefix with "_").
2019-09-16 19:54:59 +02:00
Dirk-Jan C. Binnema 632f383c38 mu: Default to XDG Base Directory Specification
Instead of using ~/.mu, use the XDG Base Directory Specification, typically:
  ~/.cache/xapian
  ~/.cache/mu.log
  ~/.cache/parts
  ~/.config/bookmarks

Update dependencies, documentation.
2019-07-13 16:00:28 +03:00
Christophe Troestler 834582b7bd mu4e (ical): Optionally save ical events to a diary file upon reply 2019-07-13 14:08:17 +02:00
Christophe Troestler 1078fee2c5 mu4e (ical): Allow to reply to icalendar invitations
Fixes https://github.com/djcb/mu/issues/994
2019-07-13 14:07:03 +02:00
Christophe Troestler c639a939f4 mu4e (ical): Fix indentation & typos 2019-07-13 14:06:57 +02:00
djcb 7563b89c9c mu4e: support incremental contacts 2019-05-11 13:41:03 +03:00
Dirk-Jan C. Binnema d979efb9c5
Merge pull request #1374 from Chris00/prepare-display
mu4e: Increase `max-specpdl-size' when decoding messages
2019-04-27 08:21:10 +03:00
Sebastian Miele 10c0507665 mu4e: Fix some typos 2019-03-11 13:34:50 +01:00
djcb 31f73b32a7 mu4e: make mu4e~view-message buffer-local
So we don't leak it outside mu4e. `mu4e-message-at-point` should do the
right thing.
2019-02-25 21:49:41 +02:00
Christophe Troestler d9066d869a Increase `max-specpdl-size' when decoding messages
Some messages (e.g. Outlook automatic replies) need a greater value
than the default one of `max-specpdl-size' to be displayed properly.
2019-02-02 15:47:22 +01:00
djcb 509a62d7a8 mu4e: flycheck fixes in mu4e-vars.el 2018-11-12 22:03:28 +02:00
djcb 4f6fd873fa mu4e: cleanup handler functions 2018-06-30 21:14:00 +03:00
djcb 84afa94fb2 mu4e: do not mark mu4e~view-msg as buffer-local
It's unnecessary.
2018-04-25 11:35:52 +03: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
Ruben Maher f279d54c1a mu4e/mu4e-vars.el: replace references to mu4e-message-get-field
I think these docs strings are referring to the function `mu4e-message-field'.
2017-12-06 09:23:50 +10:30
Gambhiro b95fb8b95a shorten modeline str if longer than max-width 2017-12-03 15:27:16 +00:00
djcb c3aca5b29e mu4e: cosmetic 2017-11-02 08:06:48 +02:00
galaunay 513eb65388 Add info on update status in modeline 2017-07-19 13:01:30 +02:00
djcb 81294eb17b mu4e: allow sorting by list-id
Added support for sorting by mailing-list; note that this ultimately is
a sort by the 'list-id', so the items will be in that alphabetical
order, which is not necessarily the same as the order of the friendly
names.
2017-07-02 10:46:08 +03: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 22e11fc112 mu4e-vars.el: cosmetics
whitespace cleanup and some typo fixes; fixes issue #1065.
2017-04-10 20:05:31 +03:00
Yuri D'Elia 0a5224c4c8 Allow to ignore addresses when doing wide replies
Introduce a new variable, mu4e-compose-reply-ignore-address, which matches
addresses to be skipped when doing wide replies.

This is identical in behavior to messages-dont-reply-to-names from message.el
(which we default on).
2017-02-20 00:37:44 +01:00
Krzysztof Jurewicz f060cb8196 mu4e: Add possibility to forward messages as attachments
This commit adds a global variable
mu4e-compose-forward-as-attachment. To enable choosing forwarding
method on a per-message basis would probably require either:

• changing the mu server backend so that it distinguishes between
  inline forwarding and forwarding as attachment;
• changing the mu server backend so that it doesn’t return attachments
  at all and making both inline and as attachment forwarding via
  MIME (and also making mu4e actually display MIME-enclosed inline
  emails).
2017-01-13 16:30:25 +01:00
djcb 34cd624023 mu4e: fix some defcustoms
There weren't quite right.
2016-11-24 00:33:06 +02:00
djcb 217e06641d mu4e: minor cleanup in docstrings 2016-11-23 23:26:12 +02:00
djcb 01fe899c37 mu4e: better error for non-supported header fields
Some fields (eg. :attachments and :user-agent) require a full message
and are not supported in headers-mode. Document this and give a clearer
error message when they are added to `mu4e-headers-fields'.

Fixes issue #933.
2016-11-05 12:42:28 +02:00
Allen 779b50f0f0 Fix parentheses grouping typo 2016-10-25 23:37:34 -07:00
Christophe Troestler dc3bffa186 Compare email addresses case insensitively 2016-08-28 00:30:29 +02:00
Christophe Troestler cec66211f5 Add a face for displaying the context in the mode-line 2016-08-12 00:11:12 +02: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 538b7e5292 mu4e: allow for show :user-agent in message-view
Define a field :user-agent and make it showable in the view.
2016-07-24 14:30:37 +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
djcb 1e963c1779 mu4e: update font-locking for mu4e-compose-mode
mu4e was making a vain attempt to fontify the compose buffer; this
doesn't work because message (from which mu4e-compose-mode derives) uses
font-locking for that.

So, instead, remap the message-mode faces to the ones used for mu4e.
2016-07-09 23:42:58 +03:00
Remco van 't Veer 4814548318 Make `mu4e-hide-index-messages' customizable 2016-06-03 09:50:52 +02:00
djcb 6dd3d60402 mu4e: minor docstring fix for `mu4e-index-update-in-background' 2016-03-14 23:00:14 +02:00
djcb 6aaf5588c3 mu4e: fix typo in `mu4e-header-info-custom' docstring 2016-03-14 22:48:11 +02: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 5bdfdf709a mu4e: use To rather than T as shortname 2016-02-14 17:06:03 +02:00
djcb 0019a00569 mu4e: update docs for mu4e-get-mail-command
There seems to be some confusion making people setting it to `t` rather
than the literal string "true". Make it even clearer in the doc.
2016-02-07 14:10:43 +02:00
djcb 82e7ba051f mu4e: add mu4e-view-fetch-url for downloading URLs
Add mu4e-view-fetch-url for fetching (downloading) URIs linked to in
e-mails. Add the 'f' keybinding for this, and document it.

Based on code by inigoserna.
2016-01-10 13:06:10 +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 b373f8e5f0 mu4e: context policy tweaking
As discussed in issue #751, mu4e should tried to accommodate some
different ways of choosing the context.

We add a new policy `ask-if-none', that will only query the user if
there is no context yet; this is the new default for
mu4e-context-policy, i.e. what happens when entering the main view.

The default policy for mu4e-compose-context-policy is now `ask',
i.e. ask if none of the contexts match.

The idea is for the defaults to ask when we don't know a context, and we
can't determine one using the match functions; this is probably the
least confusing. When user gets annoyed by too many question, they can
tweak the behavior to their liking. I.e. 'ask questions first, shoot
later'

Document all of this.
2016-01-03 13:29:19 +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 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 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 ddcd2f39b5 mu4e: more support for fancy-chars
Re-simplify `mu4e-use-fancy-chars` to a boolean again; add some extra
mark-chars (big character, so they are easily visible). Document it.
2015-12-15 09:07:17 +02:00
djcb 1a33a710db Add `mu4e-view-body-face`
This allows setting a custom face for the message body, e.g., if you
prefer a proportional font for the body:

    (set-face-attribute 'mu4e-view-body-face nil :font "Liberation Serif-10")
2015-10-13 08:03:56 +03:00
djcb f6b596d292 Documentation: e-mail address are case-sensitive 2015-10-07 11:45:06 +03:00
Daniele Pizzolli db65c824d0 Fix typo from higl.* to highl.* 2015-09-22 10:10:47 +02:00
Florian Lindner 9780f076f1 Make usage of fancy chars configurable. 2015-09-10 12:32:49 +02:00
djcb 4209eeef8c mu4e: don't use obsolete faces
Fixes #645.

Keep the ones that are still in use though.
2015-08-12 20:52:55 +03:00
djcb cc4bb1abcd mu4e: fix typo 2015-06-14 11:40:43 +03:00
djcb 041a79fdb5 mu4e: add NEWS(.org) as a main menu item 2015-06-09 21:08:02 +03:00
djcb 910e41e2fe mu4e: experimental :thread-subject field (one subject per thread)
with :thread-subject field, we attempt to only show one subject per
thread, somewhat like mutt does it.

the current implementation is straightforward, but does not take into
account whether the thread-subject is currently visible on the screen,
which is a bit tricky to implement
2015-03-22 11:49:57 +02:00
djcb 33804f63d8 mu4e: add example for mu4e-contact-rewrite-function 2015-03-15 13:45:28 +02:00
Stephen Eglen 3239a69fc5 Update mu4e-vars.el
typo
2015-02-25 09:50:55 +00:00
Alex Bennée 6bde425aa4 mu4e-vars: fix reference to obsolete mu4e-my-email-addresses
This variable has been replaced with mu4e-user-mail-address-list.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2015-01-15 09:23:30 +00: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
Foivos S. Zakkak 2d843ca887 Add Decryption field
Add a decryption field of the form

Decryption: 2 part(s) decrypted 1 part(s) failed

Meaning that 2 encrypted mime parts where successfully decrypted and 1
part failed.  Note that the number 2 refers to the number of
successfully decrypted mime parts and not the number of successfully
decrypted encryptes multiparts, i.e., if an encrypted multipart
contains 4 parts and decryption is successful the field will be

Decryption: 4 part(s) decrypted

TODO: Add details button listing the names and indexes of the
decrypted (or not) mime-parts
2014-10-19 03:27:58 +03:00
Oliver Dunkl 4964fc721d Update mu4e-vars.el 2014-10-12 10:39:07 +02:00
Oliver Dunkl ce0006721a Add different face attribute for the mode-line
There is an additional face attribute for the mode-line.
2014-10-02 06:31:10 +02:00
djcb d042d8be89 Document that mu4e-maildir must not be a symlink ('fixes' #453)
mu doesn't support symlinks; document this. You can use hardlinks
instead of course.
2014-09-23 07:52:15 +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 86f0934f7b solves #383 2014-03-28 10:24:29 +01:00
Thierry Volpiatto 8394e6069f * mu4e/mu4e-view.el (mu4e-mark-region-code): New function to highlight region marked with `message-mark-inserted-region'.
* mu4e/mu4e-vars.el (mu4e-region-code): New face.
2014-03-24 09:17:25 +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
sabof e2c8bff298 Moved citation regexps to a variable 2014-02-05 20:24:05 +00:00