Commit Graph

208 Commits

Author SHA1 Message Date
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
Thierry Volpiatto 8db567c980
Link urls after running `mu4e-view-mode`
* mu4e/mu4e-view.el (mu4e-view): `mu4e~view-make-urls-clickable`
should run after `mu4e-view-mode` otherwise an error popup telling the
hash-table storing links is nil.
2017-10-29 07:43:00 +01:00
Thierry Volpiatto 0a36c8431a
Ensure mu4e-view-mode-hook run after text insertion
* mu4e/mu4e-view.el (mu4e-view): Do it.
2017-10-29 06:54:13 +01:00
Alex Branham 7f16b7422d
mu4e: simplify what "e" does in mu4e-view mode
The default was to use e to save one attachment or C-u e to save multiple. This
simplifies it so that e simply offers to save one or many attachments.
2017-10-09 14:15:51 -05:00
djcb 2811370d7e mu4e: fix some compiler warnings in mu4e-view 2017-09-02 15:37:35 +03:00
djcb 3a8748c549 mu4e: display signers in signature header
Display the signers in the signature headers, so users can easily very
that a verified signed message was indeed signed by the expected sender.

We can't check using 'From:' automatically as that gives too many false
negatives.
2017-08-27 17:33:37 +03:00
djcb e735e70fa4 mu4e: add untrash to mu4e-view
The untrash function was not defined; let's add it.
2017-06-17 12:00:20 +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 98b998b86d mu4e: remove mu4e~compose-browse-url-mail
Instead, rely on the common browse-url-mail, which does the right thing
after
  (setq mail-user-agent 'mu4e-user-agent)
2017-04-08 15:25:38 +03:00
Titus von der Malsburg 79ad110737 mu4e: Added menu items for untrash 2017-02-14 12:02:56 +01:00
djcb 4c9a8ea112 mu4e: filter out body parts as attachments
Make the attachment heuristic yet a bit more complicated... filter out
most body parts.
2017-02-12 11:33:01 +02:00
djcb 1c4dbe580c mu4e: show inline text/plain as attachment
Show inline text parts as attachments too, so we can save them; however,
filter outer really small ones (ie. footers)
2017-02-12 11:11:16 +02:00
Thierry Volpiatto 3e865ca71f Add some improvements in attachment actions.
* mu4e/mu4e-view.el (mu4e-view-attachment-action):
Handle multi save in mu4e-view-attachment-action.

* mu4e/mu4e-view.el (mu4e-view-attachment-actions):
Make mu4e-view-attachment-actions a defcustom and add some options.

New user variable mu4e-view-attachment-assoc.

* mu4e/mu4e-view.el (mu4e-view-attachment-assoc): New.
(mu4e-view-open-attachment-with): Use it.
2016-12-19 09:32:17 +01:00
djcb 68fd3b71d3 mu4e: fix toggling between html/text 2016-11-27 14:34:50 +02:00
djcb b2cfc02010 mu4e: mark attachment-actions non-interactive
mu4e-view-pipe-attachment, mu4e-view-open-attachment-with and
mu4e-view-open-attachment-emacs are not interactive, so don't mark them
as such.
2016-11-12 14:00:11 +02:00
Antoine Levitt bc13cfda35 dont erase global-mode-string with context label, but add to it 2016-10-26 08:20:25 +02:00
Jun Hao 0926ac6867 mu4e: show '...' when header field folded and keep text-properties 2016-08-28 10:39:37 +08:00
Dirk-Jan C. Binnema 2507933176 Merge pull request #893 from j-hao/master
mu4e: Allow header fields with more than one lines to fold to one
2016-08-13 23:01:50 +03:00
djcb 49ea3bec58 mu4e: update html/URL handling
Make mu4e-view-toggle-html _not_ toggle the global value of of
mu4e-view-prefer-html, but only the current one.

Make the link map 'permanent', so it survives the buffer changes when
refreshing. This fixes issue #904.
2016-08-13 10:57:49 +03:00
Jun Hao 2d5475e7ed mu4e: Allow header fields with more than one lines to fold to one
Fix #803
2016-07-30 01:10:26 +08: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 7ac4921902 mu4e: improve mu4e-view-message-with-message-id
Now, when going to a message with certain message-id, do open a headers
buffer as well. This way, message opened this behave just like an other
message, and can be delete, flagged etc.

As a bonus, you get the whole message thread for a given
message (depending on settings)

mu4e-view-message-with-message-id now does a search and
mu4e-headers-search allow for some extra actions to open a specific
message in a hook function.
2016-02-23 23:19:54 +02:00
djcb faf453d538 mu4e: resend: add to view/headers menu
Add `mu4e-compose-resend` to the menus in the headers and view
modes. Don't add a shortcut, as it's a fairly rarely needed feature, and
might be confusing if invoked accidentally.
2016-02-16 08:29:06 +02:00
djcb d9fcfc6ddc mu4e: cosmetics 2016-01-10 13:08:18 +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 967b3cb727 mu4e: update copyright years 2016-01-09 21:28:03 +02:00
djcb 9da7fbb3de mu4e: cosmetics 2015-12-30 15:35:26 +02:00
djcb 825881feb3 mu4e: add variable mu4e-view-auto-mark-as-read
When set to nil, do not attempt to mark messages as read when you open
them; this can be useful on read-only file systems.

Fixes issue #515.
2015-12-27 14:30:02 +02:00
djcb 29a44e4371 mu4e: add mu4e-view-toggle-html
Add `mu4e-view-toggle-html' for toggling between html and text display
of messages (when available); keybinding 'h'. Document this.

The new default keybinging for mu4e-view-toggle-hide-cited becomes '#'.
2015-12-27 10:28:11 +02:00
djcb d3dbed6c1f mu4e: make global-mode-string buffer-local
Make `global-mode-string' local in all buffers where we use it, so we
don't leak the "context" string outside mu4e.

Also add the context string to the compose buffer's modeline.

This fixes #740.
2015-12-19 10:14:49 +02:00