1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-25 07:28:02 +02:00
Commit Graph

102 Commits

Author SHA1 Message Date
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
Matt Price
ad738b88b0 force use of strings for other-header in mu4e~compose-mail
org-mime and potentially other users of `compose-mail' pass a parameter
`other-headers', an alist of the form ((symbol . string)).
`mu4e~compose-mail' sends this parameter to message-add-header, which
appears to expect a string instead.  We therefore loop through
other-headers and instead pass a string to message-add-header for each
element of other-headers.
2016-11-30 14:55:23 -05:00
djcb
34cd624023 mu4e: fix some defcustoms
There weren't quite right.
2016-11-24 00:33:06 +02:00
Dirk-Jan C. Binnema
b981a7804f Merge pull request #934 from antoine-levitt/master
mu4e: Don't erase global-mode-string with context label, but add to it
2016-11-05 10:52:35 +02:00
djcb
e1092c5f27 mu4e: restore mu4e-compose-type in compose-buffer
Seems the `mu4e-compose-type' is always nil when we enter the
compose (it is set when executing the pre-hooks though). It can be
useful in the compose buffer as well, so restore it.
2016-11-05 10:18:23 +02:00
Antoine Levitt
c0726d92a0 do not rename current message buffer if the name has not changed 2016-10-31 16:28:25 +01:00
Antoine Levitt
bc13cfda35 dont erase global-mode-string with context label, but add to it 2016-10-26 08:20:25 +02:00
djcb
c419bca577 mu4e: set mu4e-compose-type earlier
Set mu4e-compose-type before invoking the "pre" hook, so that it can be
used there.
2016-09-06 18:29:05 +03:00
djcb
bca649cb32 mu4e: make mu4e-compose-type a public variable
Replace mu4e~compose-type so it can be used in pre-hooks and the like.
2016-09-06 09:15:17 +03:00
djcb
f1aedf14ab mu4e: remove some debugging output 2016-09-05 15:07:44 +03:00
djcb
37f11d642f mu4e: improve mu4e-fill-paragraph
Improve mu4e-fill-paragraph for some corner-cases where there is
trailing whitespace. Patch by holtzermann17.
2016-08-27 19:06:10 +03:00
Christophe Troestler
744f288431 Fix typo 2016-08-12 00:05:12 +02:00
djcb
c27471f4fa mu4e: compose: auto-crypt/sign crypto replies
When replying to an encrypted message, sign/encrypt by default; see
  mu4e-compose-crypto-reply-policy.

(Issue #865)
2016-07-12 00:25:05 +03:00
djcb
a24058040f mu4e: fix typo in face description 2016-07-12 00:15:29 +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
djcb
b31ba3dd81 mu4e: seems the keymaps might not be defined (workaround)
Users were seeing:
,----
| Debugger entered--Lisp error: (wrong-type-argument keymapp nil)
|   signal(wrong-type-argument (keymapp nil))
|   define-key-after(nil [mu4e-hard-newlines] (menu-item "Format=flowed"
| mu4e-toggle-use-hard-newlines :button (:toggle . use-hard-newlines) :help
| "Toggle format=flowed" :visible (eq major-mode (quote mu4e-compose-mode))
| :enable mu4e-compose-format-flowed) sep)
|   mu4e-compose-mode()
|   byte-code("..." [original-msg mu4e-compose-parent-message
| mu4e-compose-context-policy winconf includes att make-local-variable put
| permanent-local t mu4e~context-autoswitch run-hooks mu4e-compose-pre-hook
| current-window-configuration nil (mu4e-draft-open compose-type
| original-msg) ((quit (byte-code "..." [winconf set-window-configuration
| mu4e-message "Operation aborted" throw --cl-block-mu4e~compose-handler--
| nil] 3))) mu4e~draft-insert-mail-header-separator mml-attach-file plist-get
| :file-name :mime-type mu4e~compose-set-friendly-buffer-name
| set-buffer-modified-p (new forward) message-goto-to message-goto-body
| mu4e~compose-type mu4e~compose-hide-headers mu4e-compose-mode delete-frame
| --dolist-tail-- compose-type mu4e-compose-in-new-frame message-exit-actions
| message-postpone-actions] 6)
|   mu4e~compose-handler(new)
|   mu4e-compose(new)
|   mu4e-compose-new()
`----
2016-07-03 23:29:05 +03:00
Thierry Volpiatto
fa2427e6f9 Fix window restoration when C-g'ing on reply.
* mu4e/mu4e-compose.el (mu4e~compose-handler):
Save and restore window config.
2016-06-09 07:22:56 +02:00
djcb
ed16684f45 mu4e: cosmetics 2016-06-08 19:25:52 +03:00
Christophe Troestler
834b0671c8 Add a menu entry to attach captured messages
Without this menu entry, one has to remember the command name which is
not convenient.  This entry also helps to discover the "capture" feature.
2016-05-10 21:55:54 +02:00
Christophe Troestler
d063889e4c Set mu4e-compose-format-flowed to nil by default
Requested by Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> not to disturb
existing users.
2016-05-07 18:12:10 +02:00
Christophe Troestler
af523cd05a Add the menu entry in the function defining the mode
This ensures that `(lookup-key message-mode-map [menu-bar text])'
returns a valid keymap.
2016-05-07 03:28:09 +02:00
Christophe Troestler
d2ae534ad8 With use-hard-newlines, M-q reformat the paragraph as a single line 2016-05-07 02:58:17 +02:00
Christophe Troestler
b6a1e1cef8 Add a menu entry to toggle format=flowed 2016-05-07 02:58:17 +02:00
Christophe Troestler
0d939f6852 By default, compose messages as format=flowed
Fixes https://github.com/djcb/mu/issues/836
2016-05-07 02:58:17 +02:00
djcb
975d270dd3 mu4e: don't strip references for fwd messages
Don't remove the references header for forwarded message because there's
no "in-reply-to"
2016-03-24 20:27:47 +02:00
djcb
2b0d75b295 mu4e: don't use message-kill-actions for closing frames
Seems it is handled by the other actions already, and kills one-too-many
frames.
2016-02-21 16:33:55 +02:00
djcb
a0f0e95344 mu4e: better handling of closing compose frames
Use message-mode actions to close the compose
frame (`mu4e-compose-in-new-frame') whenever we're finished editing a
message.
2016-02-20 12:25:21 +02:00
djcb
b72db626f3 mu4e: implement resending
Implement the special compose type 'resend', for resending existing
messages, possibly with changes.
2016-02-16 08:29:06 +02:00
Lukas Fürmetz
46ca26457a mu4e: restore window-layout after `message-kill-buffer'
Replaces `message-kill-buffer' with `mu4e-message-kill-buffer'. This new
function is a wrapper around the original. It restores the window-layout
of mu4e after cancelling a message in mu4e-compose-mode.
2016-02-02 21:08:38 +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
8e43e8cac3 mu4e: use substring when completing contacts
Make substring the first completion strategy.
2015-12-30 17:42:08 +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
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
60192a60d2 mu4e: by default, make changing to current context a no-op
Update mu4e-context-switch to not call the enter/leave functions when
'changing' to the current context. However, calling those functions (if
defined) can be force through a prefix arg. Document this.

Make mu4e-context-determine recognize 'policies', i.e. what to do when
no context matches. This part is WIP.
2015-12-21 22:24:16 +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
Foivos S. Zakkak
0032ccf73c When mu4e-context-determine fails, prompt user 2015-12-16 16:51:54 +02:00
djcb
40b8fe138b mu4e: context: auto-detect context using the match function
When composing a new message, attempt to auto-detect the context for
that, using the context's 'match-func'.
2015-12-13 17:46:02 +02:00
djcb
a2409b62ca mu4e: when in-reply-to: is removed, remove references: too
When user removes the In-Reply-To header, also remove the (hidden)
References header when sending the message, effectively making the
message appear at the top-level.

Mention in the doc, NEWS.
2015-11-22 12:17:36 +02:00
Foivos S. Zakkak
2cf741e996 Make mu4e-compose-in-new-frame always kill frame
When `message-kill-buffer-on-exit` was set to nil mu4e would not close
the new frame.  Closing the new frame should be independent of killing
the buffer.  This patch corrects this.

(relates to #615)
2015-06-07 14:00:20 +03:00
Foivos S. Zakkak
51628e2229 Fix else case in if statement of #615 2015-05-25 16:50:33 +03:00
Pan Jie
64959382b9 Mu4e: add support for composing in a new frame
Adds the variable mu4e-compose-in-new-frame and when set to t, message
are composed in a new frame rather than the current one.
2015-05-24 11:48:37 +03:00
djcb
097b4232e2 mu4e: compose: tells us what you saved when saving a message
Provide the number of lines saved in a draft message
2015-03-21 15:23:35 +02:00
djcb
64ed6e71c1 mu4e: append `substring' to the completion-styles for address-completion 2014-12-06 14:23:55 +02:00
djcb
fcdb2c1a04 mu4e: clean up address completion 2014-11-30 16:29:10 +02:00
Foivos S. Zakkak
c5fd36a67f Fix replying to gpg encrypted mails (#186) 2014-10-15 02:42:57 +03:00
djcb
34f42e799b mu4e: unbreak sending mail when gnus-agents is unplugged in gnus (#462) 2014-10-12 10:36:33 +03:00
djcb
54a6ef7401 Some documentation fixes
(Thanks to Joe Corneli)
2014-09-23 02:40:35 +03:00
Thierry Volpiatto
2382abddf3 * mu4e/mu4e-compose.el (mu4e~compose-handler): Kill buffer on quit, transformed in defun*. 2014-06-18 15:33:55 +02:00