Commit Graph

2330 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema ecca83528c mu4e-compose: rework mu4e-compose-goto-(bottom|top)
For backward compat.
2024-03-15 20:33:23 +02:00
Dirk-Jan C. Binnema f3d823617e mu4e.texi: add missing node in composer menu 2024-03-15 20:14:11 +02:00
Dirk-Jan C. Binnema a6c78ab133 mu4e-helpers: fix mu4e-keymap-set for older emacs 2024-03-15 20:09:52 +02:00
Dirk-Jan C. Binnema 4564db845a mu4e-compose: avoid byte-compile warnings on older emacsen 2024-03-15 19:48:25 +02:00
Dirk-Jan C. Binnema a1001a915d mu4e-helpers: check for key-valid-p
It's not available in older emacsen.
2024-03-15 19:47:37 +02:00
Dirk-Jan C. Binnema 2929a82246 mu4e-helpers: add mu4e-keymap-set, fix warnings
keymap-set only appeared in Emacs 29, so add a stand-in for now.

Fix some flymake warnings.
2024-03-14 13:41:56 +02:00
Dirk-Jan C. Binnema 6d9cf64286 mu4e-compose: copy message-reply-headers to fake buffer
We need copy the buffer-local value from _another_ buffer

HT: Martin R. Albrecht.
2024-03-13 07:34:19 +02:00
Dirk-Jan C. Binnema 0e05ab8c1d mu4e-compose: only use keymap-set when available
Was added with emacs 29.
2024-03-12 20:46:34 +02:00
Dirk-Jan C. Binnema c45bdca83b mu4e-compose: restore mu4e-compose-goto-(bottom|top)
Bring back from 1.10.
2024-03-12 12:29:37 +02:00
Dirk-Jan C. Binnema d9390159bb mu4e-compose: bring back mu4e-compose-context-switch
This is the version from 1.10.x that does not change the draft folder.
2024-03-04 16:59:01 +02:00
Dirk-Jan C. Binnema 2423c38d98 mu4e-compose: bring back mu4e-compose-attach-captured-message
It went missing after the compose refactoring.

Fixes #2654.
2024-03-04 16:59:01 +02:00
Dirk-Jan C. Binnema 4cac4a415c
Merge pull request #2657 from rrudakov/fix/2656-cite-reply-position
Respect `message-cite-reply-position` customization
2024-03-04 16:58:36 +02:00
Roman Rudakov f779e30dda
[#2656] Respect `message-cite-reply-position` customization 2024-03-04 15:15:50 +01:00
Roman Rudakov 8c8abe5a23
Fix typo 2024-03-04 11:09:56 +01:00
Dirk-Jan C. Binnema e28c2487d3 mu4e-compose: return new buffer from mu4e--compose-setup
I.e, and this applies to all mu4e-compose-* composition functions as
well.

Fixes #2653.
2024-03-03 09:44:30 +02:00
Dirk-Jan C. Binnema 131f084677 mu4e.texi: remove reference to context-switch while editing 2024-03-03 09:31:26 +02:00
Dirk-Jan C. Binnema 20878c8725 mu4e-compose: tweak buffer handler, add display-buffer
Add 'display-buffer as an option for mu4e-compose-switch, which lets you
use the display-buffer function for display.

Remove the mu4e-message-kill-buffer, simply use message-kill-buffer.
2024-03-02 23:23:52 +02:00
Dirk-Jan C. Binnema 8afe3e11a2 mu4e-view: use <mouse-2> for links
Only <mouse-2>, to be consistent with eww.
2024-03-01 23:24:37 +02:00
Dirk-Jan C. Binnema acc4b28eeb mu4e-helpers: fix some typos 2024-02-26 18:30:54 +02:00
Dirk-Jan C. Binnema 5b65717ce8 build: fix doc generation 2024-02-25 17:11:29 +02:00
Dirk-Jan C. Binnema f7ba00ec08 mu4e-view: update docstring for header customization 2024-02-24 13:47:55 +02:00
Dirk-Jan C. Binnema 91eb777946 mu4e-compose: try to avoid buffer/frame mishaps
... when closing a message. Should hopefully be a bit less bad than
before.
2024-02-18 18:02:54 +02:00
Dirk-Jan C. Binnema ffac8409a3 mu4e-message: handle 'first' parameter to message-fetch-field
May as well support it.
2024-01-23 19:14:19 +02:00
Dirk-Jan C. Binnema 91ce40a8bd mu4e-org: fix typo 2024-01-23 18:26:48 +02:00
Dirk-Jan C. Binnema 300ab2b0e1 mu4e-message: improve mu4e-fetch-field
Decode the message, so that encoded fields get decoded as expected.
Also add an example to the doc for using mu4e-fetch-field.
2024-01-04 23:41:46 +02:00
Christophe Troestler 7257b3fa3c mu4e-icalendar: Fix getting the organizer from the message 2024-01-03 12:13:40 +01:00
Dirk-Jan C. Binnema ad04f16b09 mu4e: allow sorting by _first_ tag
Fixes #2611
2024-01-02 00:24:03 +02:00
Dirk-Jan C. Binnema 8edddae977 mu4e-server: remove obsolete compose code 2024-01-02 00:15:59 +02:00
Dirk-Jan C. Binnema 1999d9e6ef compose: remove server-side handling
It's no longer needed: composition happens on the mu4e side only (until
a message is saved).
2023-12-29 23:23:13 +02:00
Sean Farley b222a8a3f5 mu4e: add support for macos notifications
The current order in this patch is

1) macos notification
2) built-in dbus notification
3) fallback text notification

because macOS emacs can actually have dbus enabled (for emacs daemon
mode) but that doesn't support notifications. This is a built-in way to
send a simple notification for macs, too. Yay!
2023-12-22 21:34:52 +02:00
Dirk-Jan C. Binnema dd51f5aa12 mu4e-view: handle links with new composer 2023-12-22 21:25:12 +02:00
Dirk-Jan C. Binnema cbd6353058 mu4e-compose: don't attempt deleting frames for now
This needs some more work, so don't try to delete frames for now, which
is better than the alternative.
2023-12-15 12:46:44 +02:00
Dirk-Jan C. Binnema 65e7e7f42d mu4e-compose: be less eager deleting frames
We were deleting frames if it was not the last one; however, emacs can
have a bunch of hidden frames (for tooltips?) that we should not
consider.
2023-12-14 21:38:15 +02:00
Dirk-Jan C. Binnema 8c1466773f mu4e: get rid of mu4e-is-mode-or-derived-p
derived-mode-p is enough
2023-12-06 20:30:47 +02:00
Dirk-Jan C. Binnema 0ee0a26689 mu4e.texi: mention header-line-format misalignment & workaround
We can't fully fix this with the current headers-view, but this may help
some user. Based on code provided by @phil-s.

Fixes #2606.
2023-12-04 18:52:50 +02:00
Dirk-Jan C. Binnema 038d6ea6b6 mu4e-headers: avoid defcustom warning for mu4e-headers-field
Variable may contain custom (user-specified) fields, no need to warn for
that; suggested by @mekeor.

Fixes #2607
2023-12-04 18:52:50 +02:00
Dirk-Jan C. Binnema daf303d444 mu4e-window: fix mu4e--get-current-buffer-type
The change for emacs 30.x does not work for older emacs versions...
2023-12-04 18:52:50 +02:00
Dirk-Jan C. Binnema 526d49f70c mu4e-compose: attempt to delete frame after done with composition
Attempt to delete the frame when
a) it's not the last frame, and
b) there's only a single window on the frame

Fixes #2577
2023-12-04 19:25:55 +02:00
Dirk-Jan C. Binnema 730bd13ea2 mu4e-compose: ensure we switch to composition buffer
When we're done with the setup.

Fixes #2605.
2023-12-02 17:45:51 +02:00
Dirk-Jan C. Binnema d488ab2641 mu4e-compose: combine mu4e-compose-new and mu4e-compose-mail
No need for duplication.
2023-12-02 17:45:51 +02:00
Dirk-Jan C. Binnema 4ea450c29f mu4e: update documentation 2023-12-01 19:11:56 +02:00
Dirk-Jan C. Binnema 149ec143ba mu4e-compose: remove crs from message when decoding
This fixes e.g. forwarding for some mesasges that contain CRs.
2023-12-01 19:11:56 +02:00
Dirk-Jan C. Binnema 18efe9a955 mu4e-compose: improve mu4e-message-kill-buffer
Try to go back to the buffer we were in before. HT: @thierryvolpiatto

Fixes #2600.
2023-11-30 22:16:04 +02:00
Dirk-Jan C. Binnema f3606c0352 mu4e-compose: rework message handling
A number of change in message composition:

Clean up some of the handling function, in particular, only include
headers in mu4e--decoded-message when that is all that's needed.

When forwarding messages, make sure message-reply-headers is filled with
the values for the to-be-forwarded message so the references etc. get
filled correctly.

Fixes #2603
2023-11-30 22:14:36 +02:00
Dirk-Jan C. Binnema 14d9f7ccce mu4e-window: update derived-mode-p call
Don't use the deprecated calling convention
2023-11-30 19:05:34 +02:00
Nicholas Vollmer 4ab0ae5565 mu4e-compose-reply: account for nil REPLY-TYPE in assertion
Previous assertion would fail when REPLY-TYPE is nil, but nil is a valid value
for the argument.

See: https://github.com/djcb/mu/issues/2601
2023-11-22 16:10:08 -05:00
Dirk-Jan C. Binnema fa0248a361 mu4e-view: unfold threads when working in headers-context
It's a bit hard otherwise to keep headers/article in sync.

Fixes #2498.
2023-11-22 21:41:02 +02:00
Dirk-Jan C. Binnema 087d06c5d3 mu4e-compose: implement mu4e-compose-supersede
Hook up `message-supersede` which you can /supersede/ your own messages;
that is, send the message as kind-of reply to the same recipients. This
only works if you were the sender.

This should help for #2584.
2023-11-22 21:41:02 +02:00
Dirk-Jan C. Binnema e0826d10b1 mu4e-contacts: fix some noise
Fixes #2598.
2023-11-18 19:12:29 +02:00
Dirk-Jan C. Binnema 3a506846f9 mu4e-view: do not bind message-alternative-emails recursively
Fixes #2597.
2023-11-16 19:03:13 +02:00
Dirk-Jan C. Binnema d814d4630f mu4e-headers: remove overlays in mu4e~headers-clear
This is needed to clear-up message threads
2023-11-16 18:59:43 +02:00
Dirk-Jan C. Binnema 1936d4eec3 mu4e-compose: ensure message-mail-user-agent is nil
Unbreak some user setups

Fixes #2596.
2023-11-15 15:52:58 +02:00
Dirk-Jan C. Binnema 08ebe87f81 mu4e-view: fix typo
a rogue ' snuck in.
2023-11-13 10:42:04 +02:00
Dirk-Jan C. Binnema 17ea8bd613 mu4e: fix background mu4e
Fixes #2593.
2023-11-12 23:29:51 +02:00
Dirk-Jan C. Binnema e71640fdfa mu4e-view: tidy-up mu4e-view-message-text 2023-11-12 23:29:51 +02:00
Dirk-Jan C. Binnema 3c19613cf0
Merge pull request #2594 from Chris00/master
mu4e-compose-mail: fix the number of parameters of the closure
2023-11-12 23:15:17 +02:00
Christophe Troestler 8d8a5a9844 mu4e-compose-mail: fix the number of parameters of the closure 2023-11-12 21:09:24 +01:00
Christoph Reichenbach 490dc8869b When re-tagging, force `replace-match' to preserve case
Sets the second parameter to `replace-match' to t, thus forcing it to
not attempt to auto-adjust the case of any tags.
2023-11-12 10:51:47 +00:00
Dirk-Jan C. Binnema a720c9cb1c mu4e-compose: split citing / header extraction
We use a body from mu4e-view-message-text for citing, and
mu4e--decoded-message for header extraction.

There's room for some refactoring.
2023-11-10 16:47:34 +02:00
Dirk-Jan C. Binnema 117600ef20 mu4e-main: cosmetics / docs 2023-11-10 16:47:23 +02:00
Dirk-Jan C. Binnema 2058f15506 mu4e: improve startup routine
Switch to main buffer if it already exists, in the non-background case.
2023-11-10 16:47:23 +02:00
Dirk-Jan C. Binnema 171fe9a018 mu4e-compose: add missing arg to mu4e-compose-new lambda 2023-11-08 18:18:47 +02:00
Dirk-Jan C. Binnema 30a78d3cb9 mu4e-compose: use raw message for "forward"
Not the decoded one.
2023-11-08 15:33:47 +02:00
Christophe Troestler 0941b37fcc Fix mu4e-compose-mail 2023-11-08 10:00:16 +01:00
Christophe Troestler d19c78f30d mu4e: Fix warnings in contrib 2023-11-08 10:00:06 +01:00
Dirk-Jan C. Binnema ea7c05c183 mu4e-compose: implement mu4e--decoded-message
Instead of mu4e-view-message-text, use a more targeted approach that
does just enough to get a decoded message with all the headers, which we
can use for replying.
2023-11-07 16:40:09 +02:00
Dirk-Jan C. Binnema c76c410256 mu4e: always include message-id in mu4e-view-message-text
Regardless of mu4e-view-headers; and ensure the message-id is in
<brackets>.
2023-11-05 17:52:14 +02:00
Dirk-Jan C. Binnema 556396bb85 mu4e-compose: explicitly generate-headers
Ongoing troubles with this, and apparently some differences between
Emacs versions (?).

Explicitly generated the needed headers.
2023-11-05 16:47:08 +02:00
Dirk-Jan C. Binnema dfe28f033a mu4e-view: do full render in mu4e-view-message-text
Otherwise decoding does not work correctly.
2023-11-04 23:38:02 +02:00
Dirk-Jan C. Binnema a551aaa694 mu4e-compose: rework header insertion
Clean up the composition pipeline a bit, and set
message-generate-headers-first explicitly.

Hide headers later.
2023-11-04 23:38:02 +02:00
Dirk-Jan C. Binnema c3bc50bd02 mu4e-view: assign gnus-article-buffer in mu4e-view-mode
Some external programs (such as bbdb) seems to depend on that.
2023-11-04 11:16:24 +02:00
Dirk-Jan C. Binnema 8abf0983fd mu4e-compose: make draft-editing work in new setup
Move around initialization a bit so we can use it for draft-editing as
well.
2023-11-03 21:17:43 +02:00
Dirk-Jan C. Binnema b428d9702e mu4e-compose: make mu4e-compose-dont-reply-to-self obsolete
Doesn't really fit in nicely with the new composer; update NEWS.org,
manual for users to migrate.
2023-11-03 21:17:43 +02:00
Dirk-Jan C. Binnema 541c818a9f mu4e-compose: include references / in-reply-to
For replies and forwarded messages.
2023-11-02 22:21:10 +02:00
Dirk-Jan C. Binnema 5b29ad8b6d mu4e-compose: use seq-filter instead of seq-keep
seq-keep is only arrived with emacs 29, and seq-filter does the job
2023-11-01 19:46:47 +02:00
Dirk-Jan C. Binnema 9f39d78a71 mu4e-compose: use decoded message for replying
Or From: etc. would use some undecoded version with some
=?iso-8859-1?Q?.... blobs.
2023-11-01 19:46:47 +02:00
Dirk-Jan C. Binnema 79281256a6 mu4e: make defvar mu4e-view-completion-minor-mode-map
So users can customize it.
2023-11-01 18:42:23 +02:00
Dirk-Jan C. Binnema b1587607e1 mu4e: obsolete some compose vars, update NEWS.org
We can re-use the existing implementations.
2023-10-31 19:45:17 +02:00
Dirk-Jan C. Binnema a02ef7bb07 mu4e-search: allow updating keymap for minor mode 2023-10-30 22:55:42 +02:00
Dirk-Jan C. Binnema a696902c34 mu4e-compose: allow updating keymap for minor mode 2023-10-30 22:55:42 +02:00
Dirk-Jan C. Binnema eee73f8199 mu4e: better handle alternative address
In compose / contacts
2023-10-29 17:16:05 +02:00
Dirk-Jan C. Binnema 00191a3ec7 mu4e: improve mu4e-compose-dont-reply-to-self handling
Use mu4e-personal-or-alternative-address to decide on whether an address
belongs to "this user". Update docs.
2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema ea78fab0ef mu4e-view: remove ^M from raw message
They can cause rendering issues later.
2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema b30e774c12 mu4e: update documentation 2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema 61c8067491 mu4e-compose: add in-reply-to when needed
Was missing.
2023-10-26 18:34:07 +03:00
Dirk-Jan C. Binnema 8be95f2616 mu4e-icalendar: update for new composer
Rework a bit for the new composer; and make the calendar-support
"built-in".
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema b2f3a63a3a mu4e.texi: update composer documentationx 2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 84b50fb10f mu4e-window: let composer handle buffer creation
Fits better with how emacs does it.
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 13d068f183 mu4e: update headers/view for new composer 2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 85bfe76336 mu4e-compose: overhaul message composer
This is a new composer sub-system, which more closely follows
Gnus/message; in particular, we let gnus take care of creating draft
messages.

This reduces code size and allows us to re-use some of the more advanced
features.

There are a number of user-visible changes:

- `mu4e-compose-resend' directly uses `message-resend', so there is no
  more editing phase (which used to be a bit broken with re-encoding
  MIME messages.
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 24f1fe8d45 mu4e-contacts: add mu4e-personal-or-alternative-address 2023-10-23 17:24:44 +03:00
reindert 4392d4e308 Fix completion w other keys than quick key 2023-10-18 16:25:52 +02:00
Dirk-Jan C. Binnema 967b724e75 build: avoid dynamic dates for reproducibility
We were using dates (in documentation, (c) notices etc) based on the
build-date; that makes it hard to do reproducible builds, so specify a
specific date in the top-level meson file, and use that throughout.
2023-10-14 15:24:00 +03:00
Dirk-Jan C. Binnema c021433519 mu4e-headers: switch buffer to search results
..except for 'background searches', such as the one after re-indexing.

Fixes #2545.
2023-10-07 08:16:33 +03:00
Dirk-Jan C. Binnema 2c4c3d8d7c mu4e/meson.build: more tweaking to avoid warnings 2023-10-07 00:18:56 +03:00
Dirk-Jan C. Binnema 1bc9d6b515 mu4e: get rid of load-prefer-newer t
This triggered what I think is a bug/limitation in emacs; move the
source files to the build dir _after_ byte-compiling so we don't need
load-prefer-newer to avoid build warnings.

Fixes #2565.
2023-10-05 08:44:11 +03:00
Dirk-Jan C. Binnema 4d11abd1ca mu4e-view: ignore decoding errors
We can't do much about them; still attempt to show the message.

Fixes #2561.
2023-10-05 08:44:11 +03:00
Tassilo Horn 27619a2220 Fix defcustom :type of mu4e-headers-leave-behavior
The const values of the choice had the wrong order `(const :tag <value> <text>)`.
The correct order is `(const :tag <text> <value>)`.
2023-09-28 11:52:39 +02:00
Dirk-Jan C. Binnema 3dad743e16 mu4e-mark: avoid byte-compiler warning 2023-09-21 23:58:55 +03:00
Dirk-Jan C. Binnema 8fc13ab8f3 mu4e: Shorten descriptions a bit 2023-09-20 22:31:19 +03:00