Commit Graph

237 Commits

Author SHA1 Message Date
Jonas Bernoulli 6d581c4ca0 mu4e~view-define-mode: Place doc-string in correct position 2020-02-17 14:28:00 +01:00
Jonas Bernoulli 9f26819efb mu4e: Demote a few broken commands to functions
It would was not possible to interactively invoke these functions
because their `interactive' form does not provide all the mandatory
arguments.
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 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
Christophe Troestler 8e3f7ba64a Load gnus-art when compiling
Commit edce635416 only loads it
dynamically when executing the function mu4e~view-gnus but as a
consequence many variables are undefined at compile time and, more
importantly, it is no longer possible to override the variable
gnus-display-mime-function with a let binding before calling
gnus-article-prepare-display
2020-01-27 15:24:39 +01:00
Thierry Volpiatto edce635416
Avoid loading all gnus package
when not necessary.

* mu4e/mu4e-view.el (mu4e~view-gnus): Require gnus-art here instead on
top of file.
2020-01-21 09:49:40 +01:00
Pedro Ribeiro Mendes Júnior 7b5195da89 mu4e: define mu4e-view-actions with defcustom instead of defvar
It allows the customization directly from Emacs Custom mode.  It is
done in a similar way as for `mu4e-view-attachment-actions'.
2019-12-31 13:20:15 -03:00
Jonas Bernoulli f31d1b065d Fix typos 2019-11-06 16:13:39 +01:00
Dirk-Jan C. Binnema 3a8ceeea92 mu4e: disable K bindings in view
We don't support the K- bindings in the gnus-view, so let's avoid the
error.
2019-10-14 20:39:23 +03:00
Dirk-Jan C. Binnema 581785abe9 mu4e: view: disable some bindings for the gnus-based view
Disable some of the key-binding that don't quite work for the gnus-based
view. We'll probably want a gnus-view specific set of bindings, but at
least for now avoid the errors.
2019-09-16 22:02:16 +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
Christophe Troestler 121bb00278 mu4e (ical): Make sure all user emails known to mu4e are used for ical events 2019-07-13 14:07:10 +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
djcb a2c27c0c5a mu4e: construct attach map even when not showing header
This is a bit of hack, but solves the problem; even when not _showing_
the attachments-header, construct the corresponding map, so the
keybindings work.
2019-04-27 08:38:53 +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
Pierre Neidhardt bbc055d75a mu4e: Implement mu4e-*-mark-or-move-to-trash (e.g. for Gmail) 2019-03-04 15:46:54 +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 4e7c2cd24f mu4e: properly display messages in the draft folder (with gnus) 2019-02-10 13:43:55 +01:00
Christophe Troestler 4b868e742f mu4e: Remove article-de-*-unreadable which prevent decoding 2019-02-10 13:10:44 +01: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 156c421113 mu4e: fix some gnus body decoding issues
Hat-tip: Chris00
2019-02-02 13:44:49 +02:00
Alex Branham 2674ca5583
mu4e: Replace cl with cl-lib 2019-01-04 16:03:58 -06:00
djcb ff4280d687 mu4e-view: some flycheck warning fixes 2018-12-01 12:55:44 +02:00
djcb fa73d6fd8e mu4e-view: use permanent-local, activate mu4e-view later
Mark some variables as use permanent-local so they'll survive a
major-mode change. Activate mu4e-view later, so hooks have some more
material to work with.
2018-12-01 12:55:44 +02:00
Oleh Krehel 6a8bbbd55f mu4e/mu4e-view.el (mu4e-view-open-attachment): Ensure attachments are set
Before this change, I would press "o" and `mu4e~view-attach-map' would
be nil. Now it works as expected.
2018-11-18 16:22:39 +01:00
djcb 700e5e76da mu4e-view: switch mode before filling message
That way, the attachment map etc. stay valid.
2018-11-07 21:24:02 +02:00
djcb 7dcb9087c2 mu4e: enable mu4e-view *before* internal processing
So, user gets a pristine message, and hashes etc. are still valid (since
they don't survive mu4e-view-mode)
2018-11-05 18:39:56 +02:00
djcb d5a4ba06ce mu4e: switch to mu4e-view later (internal)
When using 'internal' mode, activate mu4e-view-mode only after the
buffer has been set up, so hooks have some more interesting material to
work with.
2018-11-04 12:31:32 +02:00
djcb f8a5daa666 gnus: handle more non-ascii
Fix character decoding issues for some (but not all) messages. This to
Chris00 for this work on this!
2018-09-02 16:43:06 +03:00
djcb 1d0b24afcf mu4e: activate mode before getting attachments/links
So the relevant hash-maps are valid (they would be nillified by changing
the mode otherwise).
2018-08-16 22:48:20 +03:00
djcb abf02000ec mu4e: clean up mu4e~view-internal a bit 2018-08-14 22:20:32 +03:00
djcb 82e7d7c65d mu: better handle updating mail being viewed
instead of the the 'noupdate', add 'noview', so the headers still get
update but we don't render unread mail twice.
2018-08-14 21:59:41 +03:00
djcb a4398ac93d mu4e/mu: optimize mark-as-read
Since cd649efb6b, opening an unread message first does a proc-move,
then proc-view.

Reason is that while we get the (:update ... ) from the move, that only
contains a skeleton message; we need the full view get images etc. This
means that we render the message _twice_.

Here we change add a flag for move to _not_ send the (:update ..), so
only the (:view ...) will trigger rendering of the message.
2018-08-12 14:00:59 +03:00
djcb d106e0e03b mu4e-view: ensure buffer is named *Article* (gnus mode)
Some of the gnus internal code depends on that.
2018-06-13 22:24:47 +03:00
djcb acb68f5551 mu4e: disable some keybindings for the gnus backend 2018-06-13 16:58:41 +03:00
djcb 36ce14e705 mu4e: view/gnus: support verifying signed mails
Hook up with gnus' verification for signed mails.
2018-06-13 13:22:47 +03:00
Dirk-Jan C. Binnema 4fb5d11d9f
Merge pull request #1243 from avar/render-urls-with-space-before-number
mu4e: view: render URLs as "<url> [%d]" not "<url>[%d]"
2018-06-12 09:23:14 +03:00
Ævar Arnfjörð Bjarmason 6c8aec38be view: render URLs as "<url><zwp>[%d]" not "<url>[%d]"
When we render URLs like https://gnu.org/[1] right-clicking on them in
e.g. GNOME Terminal will also copy the "[1]" as well as the URL,
inserting zero-width-space[1] between the two avoids this.

I know about "g" (mu4e-view-go-to-url), but sometimes I want to open a
URL in a different browser, or copy it into a non-Emacs program. This
makes that easier. I think this improves the UI at a very trivial cost
to users that don't care about this use-case.

I could make this configurable, but unless someone vehemently objects
to this I don't see the point of not just making it the default.

In GNOME Terminal a ZWS is rendered simply as a space, and
copy/pasting works as expected, but in Emacs's GTK GUI there's no
space between the two.

This was initially a plain ASCII space character, but djcb preferred a
ZWP, and this works as well.

1. https://en.wikipedia.org/wiki/Zero-width_space
2018-06-11 22:10:56 +02:00
djcb 088064d5e1 mu4e: define the view-mode when needed
Define the view-mode (gnus or internal) just before it's needed. This
ensures that (when in gnus mode) it's really a gnus-article-mode
derivative, so more of the gnus specifics work.
2018-06-08 10:01:55 +03:00
djcb ee6e91da9b mu4e: auto decode quoted-printable, base64 (gnus)
Set things up so gnus article mode decodes base64 and quoted-printable
messages automatically.

Don't try to set up URL links.
2018-06-07 13:13:37 +03:00
djcb d01bdfa7b4 mu4e: add decoding support for gnus' article-mode
Decode Gnu's articles as expected; thanks to Lars Ingebrigtsen for his
advice.
2018-06-05 17:42:09 +03:00
djcb cd649efb6b mu4e: re-view after marked-as-read
When we mark a message as read, we get an (:update ... ) with the
marked-as-read message (ie., moved from new/ to cur/).

The (:update ...) however does _not_ include extracted images etc.; so
images in unread message would not be visible at that time. To fix this,
to another (:view ...) and extract the images etc.

Thanks to tangxinfa for pointing this out.
2018-04-25 11:35:52 +03:00
djcb 260a8bb629 mu4e-view: use Gnus' article mode (experimental)
Add a defcustom `mu4e-view-use-gnus`, which, when `t', use Gnus'
article-mode for displaying messages instead of mu4e's built-in mode.

This is experimental, and a view messages do not display
correctly yet (base64-encoded bodies).
2018-04-24 14:58:39 +03:00
Dirk-Jan C. Binnema 97ad4baea7
Merge pull request #1134 from jabranham/master
mu4e: simplify what "e" does in mu4e-view mode
2018-01-23 22:56:32 +02:00
Dirk-Jan C. Binnema 82743b3164
Merge pull request #1148 from thierryvolpiatto/mu4e-view
Fix again #1141 (mu4e-view-mode-hook should run after text insertion)
2018-01-06 15:01:32 +02:00
djcb 9ecc610e14 mu4e: some doc fixes 2017-11-04 15:06:45 +02:00
Thierry Volpiatto fc4e2c743b
Merge branch 'master' into mu4e-view 2017-11-04 13:03:40 +01:00
Dirk-Jan C. Binnema d87b97e0fb
Revert "Ensure mu4e-view-mode-hook run after text insertion" 2017-11-04 13:36:43 +02:00
Thierry Volpiatto 70d4d56db5
Run mu4e-view-mode without its hook (#1141)
before text insertion and run finally the hook at end.
This ensure local variables are not killed after being set.
* mu4e/mu4e-view.el (mu4e-view): Do it.
2017-11-04 05:50:03 +01:00
Thierry Volpiatto 2eccd7df90
Keep original indentation
Only whitespace changes.

* mu4e/mu4e-view.el (mu4e-view): Do it.
2017-10-29 11:51:28 +01:00