From 5bb3c77e3c2e7d9fad3f444467c10f54883f0898 Mon Sep 17 00:00:00 2001 From: Alexander Rosenberg Date: Tue, 29 Apr 2025 22:54:18 +0900 Subject: [PATCH] Update mu4e stuff --- elisp/private.el | Bin 271 -> 317 bytes init.el | 67 +++++++++++++++++++++++++---------------------- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/elisp/private.el b/elisp/private.el index 1257f27dee6aaa967c9d80d5f95e1527e5d4ce28..b1cf28d430d0030696fa7b25299020c972e00476 100644 GIT binary patch literal 317 zcmV-D0mA+OM@dveQdv+`0H)_7rxTu{@oi>CN*|8xxN%iXJro&(H&<~{jl0`9y%Q_} zZQGV%Pj@@_1SDxbs3$f2UBthuuE1d?w3>7U9iMqKvjJ10sy%WkxZJ0dUe>6 PbDA7RL@hTX=Nv9Hj)9l( literal 271 zcmV+q0r36+M@dveQdv+`00R#Gzy`;E6|jI-;YT*TQ`(Ok<1-HI1t*_gQCxSrweUm# z6VR{uaLp3qv~`2a6Y74#`(3JMxUw-b*L+(h$LIH(3_Ch{tkZ0#-3N~9|TgqZ*U diff --git a/init.el b/init.el index a1cbb47..1eea006 100644 --- a/init.el +++ b/init.el @@ -3057,13 +3057,7 @@ The name is compared with the field name using TESTFN (defaults to `equal')." (mu4e-compose-mode . my/-mu4e-setup-compose-mode)) :bind (("C-x C-m" . mu4e) :map message-mode-map - ("C-c k" . khard-insert-email-contact) - :map mu4e-headers-mode-map - ([remap mu4e-headers-mark-for-trash] . - my/mu4e-headers-mark-for-trash) - :map mu4e-view-mode-map - ([remap mu4e-view-mark-for-trash] . - my/mu4e-view-mark-for-trash)) + ("C-c k" . khard-insert-email-contact)) :init (require 'mu4e) (evil-define-key '(normal motion) mu4e-main-mode-map "q" #'bury-buffer) @@ -3078,20 +3072,6 @@ The name is compared with the field name using TESTFN (defaults to `equal')." "Run `mu4e-update-mail-and-index' without any messages in the background." (setq mu4e-hide-index-messages t) (mu4e-update-mail-and-index t)) - (defun my/mu4e-headers-mark-for-trash () - "Move the message a point to the trash without marking it was deleted -(trashed)." - (interactive) - (when (mu4e-thread-message-folded-p) - (mu4e-warn "Cannot mark folded messages")) - (mu4e-mark-at-point 'move mu4e-trash-folder) - (when mu4e-headers-advance-after-mark - (mu4e-headers-next))) - (defun my/mu4e-view-mark-for-trash () - "Like `my/mu4e-headers-mark-for-trash', but for `mu4e-view-mode'." - (interactive) - (mu4e--view-in-headers-context - (my/mu4e-headers-mark-for-trash))) (defun my/-mu4e-enable-autocomplete-in-header () ;; corfu auto must be t (not the integer returned by ;; `my/message-in-header-p' @@ -3108,21 +3088,35 @@ The name is compared with the field name using TESTFN (defaults to `equal')." (setq-local completion-cycle-threshold nil)) (advice-add 'mu4e--compose-setup-completion :after 'my/-mu4e-fix-cycle-threshold) + (defvar my/mu4e-inbox-query + (concat "maildir:/protonmail/Inbox or maildir:/ucsc-gmail/Inbox")) (defvar my/mu4e-interesting-mail-query (concat "flag:unread AND NOT flag:trashed AND NOT " - "maildir:/protonmail/Trash AND NOT maildir:/protonmail/Spam") + "maildir:/protonmail/Trash AND NOT maildir:/protonmail/Spam AND NOT " + "maildir:/ucsc-gmail/[Gmail]/Trash AND NOT " + "maildir:/ucsc-gmail/[Gmail]/Spam") "Flag for mail which will appear as \"unread\" and will be notified.") (setq message-kill-buffer-on-exit t message-confirm-send t - message-send-mail-function 'sendmail-send-it + sendmail-program "/usr/bin/msmtp" + message-sendmail-f-is-evil t + send-mail-function 'smtpmail-send-it + message-send-mail-function 'message-send-mail-with-sendmail + mu4e-trash-without-flag t mu4e-change-filenames-when-moving t mu4e-context-policy 'pick-first mu4e-attachment-dir "~/downloads/" mu4e-last-update-buffer " *mu4e-last-update*" mu4e-index-update-error-warning nil - mu4e-get-mail-command "mbsync protonmail" + mu4e-get-mail-command "mbsync -a" mu4e-completing-read-function #'completing-read-default mu4e-compose-context-policy 'ask-if-none + mu4e-bookmarks `((:name "Inbox" + :query ,my/mu4e-inbox-query + :key ?i) + (:name "Unread" + :query ,my/mu4e-interesting-mail-query + :key ?u)) mu4e-contexts (list (make-mu4e-context :name "Personal" @@ -3133,18 +3127,27 @@ The name is compared with the field name using TESTFN (defaults to `equal')." :maildir)))) :vars `((user-mail-address . ,(my/get-private 'mu4e-email)) (user-full-name . ,(my/get-private 'mu4e-name)) + (message-sendmail-extra-arguments . ("-a" "protonmail")) (message-signature . nil) (mu4e-refile-folder . "/protonmail/Archive") (mu4e-sent-folder . "/protonmail/Sent") (mu4e-drafts-folder . "/protonmail/Drafts") - (mu4e-trash-folder . "/protonmail/Trash") - (mu4e-bookmarks - . ((:name "Inbox" - :query "maildir:/protonmail/Inbox" - :key ?i) - (:name "Unread" - :query ,my/mu4e-interesting-mail-query - :key ?u)))))))) + (mu4e-trash-folder . "/protonmail/Trash"))) + (make-mu4e-context + :name "School" + :match-func (lambda (msg) + (when msg + (string-match-p "^/ucsc-gmail/" + (mu4e-message-field msg + :maildir)))) + :vars `((user-mail-address . ,(my/get-private 'mu4e-email-school)) + (user-full-name . ,(my/get-private 'mu4e-name)) + (message-sendmail-extra-arguments . ("-a" "ucsc-gmail")) + (message-signature . nil) + (mu4e-refile-folder . "/protonmail/[Gmail]/All Mail") + (mu4e-sent-folder . "/ucsc-gmail/[Gmail]/Sent Mail") + (mu4e-drafts-folder . "/ucsc-gmail/[Gmail]/Drafts") + (mu4e-trash-folder . "/ucsc-gmail/[Gmail]/Trash")))))) (use-package mu4e-alert :after mu4e :hook (after-init . mu4e-alert-enable-notifications)