diff --git a/modules/email/mu4e/autoload/email.el b/modules/email/mu4e/autoload/email.el index b5b651f87..287a6c02d 100644 --- a/modules/email/mu4e/autoload/email.el +++ b/modules/email/mu4e/autoload/email.el @@ -15,6 +15,7 @@ OPTIONAL: + `mu4e-trash-folder' + `mu4e-refile-folder' + `mu4e-compose-signature' + + `+mu4e-personal-adresses' DEFAULT-P is a boolean. If non-nil, it marks that email account as the default/fallback account." @@ -194,19 +195,24 @@ is tomorrow. With two prefixes, select the deadline." (t "later")))))) ;;;###autoload -(defun +mu4e-set-account () +(defun +mu4e-set-from-address () "Set the account for composing a message. If a 'To' header is present, -and correspands to an email account, this account will be selected. -Otherwise, the user is prompted for the account they wish to use." +and correspands to an email address, this address will be selected. +Otherwise, the user is prompted for the address they wish to use. Possible +selections come from the mu database or a list of email addresses associated +with the current context." (unless (and mu4e-compose-parent-message (let ((to (cdr (car (mu4e-message-field mu4e-compose-parent-message :to)))) (from (cdr (car (mu4e-message-field mu4e-compose-parent-message :from))))) - (if (member to (plist-get mu4e~server-props :personal-addresses)) + (if (member to (mu4e-personal-addresses)) (setq user-mail-address to) - (if (member from (plist-get mu4e~server-props :personal-addresses)) + (if (member from (mu4e-personal-addresses)) (setq user-mail-address from) nil)))) - (ivy-read "Account: " (plist-get mu4e~server-props :personal-addresses) :action (lambda (candidate) (setq user-mail-address candidate))))) + (ivy-read "From: " (if-let ((context-addresses (alist-get '+mu4e-personal-addresses (mu4e-context-vars mu4e~context-current)))) + context-addresses + (mu4e-personal-addresses)) + :action (lambda (candidate) (setq user-mail-address candidate))))) ;;;###autoload (defun +mu4e~main-action-str-prettier (str &optional func-or-shortcut) diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index 353d2b41f..2f5183a04 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -3,6 +3,9 @@ (defvar +mu4e-backend 'mbsync "Which backend to use. Can either be offlineimap, mbsync or nil (manual).") +(defvar +mu4e-personal-adresses 'nil + "Alternative to mu4e-personal-adresses that can be set for each account (mu4e context).") + ;; ;;; Packages @@ -188,7 +191,7 @@ :v "u" #'mu4e-headers-mark-for-unmark :vn "l" #'+mu4e-msg-to-agenda)) - (add-hook 'mu4e-compose-pre-hook '+mu4e-set-account) + (add-hook 'mu4e-compose-pre-hook '+mu4e-set-from-address) (advice-add #'mu4e~main-action-str :override #'+mu4e~main-action-str-prettier) (when (featurep! :editor evil)