From f1b314518003a0aa88fcc0021b158a26437ccf14 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Fri, 25 Nov 2022 14:40:58 -0500 Subject: [PATCH] Various mail-related updates and cleanups --- .config/isync/mbsyncrc | 50 +++++++-------- .emacs.d/etc/eshell/aliases | 3 +- .emacs.d/lisp/bandali-gnus.el | 103 ++++++++++++++++--------------- .emacs.d/lisp/bandali-message.el | 42 +++---------- 4 files changed, 87 insertions(+), 111 deletions(-) diff --git a/.config/isync/mbsyncrc b/.config/isync/mbsyncrc index 42c056c..25a2a08 100644 --- a/.config/isync/mbsyncrc +++ b/.config/isync/mbsyncrc @@ -79,31 +79,6 @@ Master :gnub-remote: Slave :gnub-local: Patterns * -###### -IMAPAccount uwaterloo -Host connect.uwaterloo.ca -User abandali -PassCmd "gpg -q --for-your-eyes-only -d ~/.passwd/uwaterloo.gpg" -SSLType IMAPS - -IMAPStore uwaterloo-remote -Account uwaterloo - -IMAPAccount uwaterloo-local -Host 127.0.0.1 -Port 143 -User abandali@uwaterloo.local -PassCmd "gpg -q --for-your-eyes-only -d ~/.passwd/uwaterloo-local.gpg" -SSLType None - -IMAPStore uwaterloo-local -Account uwaterloo-local - -Channel uwaterloo -Master :uwaterloo-remote: -Slave :uwaterloo-local: -Patterns * - ###### IMAPAccount csclub Host mail.csclub.uwaterloo.ca @@ -128,3 +103,28 @@ Channel csclub Master :csclub-remote: Slave :csclub-local: Patterns * + +###### +IMAPAccount canonical +Host mail.canonical.com +User bandali +PassCmd "gpg -q --for-your-eyes-only -d ~/.passwd/canonical.gpg" +SSLType IMAPS + +IMAPStore canonical-remote +Account canonical + +IMAPAccount canonical-local +Host 127.0.0.1 +Port 143 +User bandali@canonical.local +PassCmd "gpg -q --for-your-eyes-only -d ~/.passwd/canonical-local.gpg" +SSLType None + +IMAPStore canonical-local +Account canonical-local + +Channel canonical +Master :canonical-remote: +Slave :canonical-local: +Patterns * diff --git a/.emacs.d/etc/eshell/aliases b/.emacs.d/etc/eshell/aliases index c913598..418aad6 100644 --- a/.emacs.d/etc/eshell/aliases +++ b/.emacs.d/etc/eshell/aliases @@ -17,4 +17,5 @@ alias vi find-file $1 alias vim find-file $1 alias mbsync mbsync -c $XDG_CONFIG_HOME/isync/mbsyncrc $* alias getmail getmail --getmaildir $XDG_CONFIG_HOME/getmail --rcfile getmailrc $* -alias m mbsync csclub; mbsync uwaterloo; mbsync kelar; mbsync shemshak; mbsync gnub; getmail +alias m mbsync csclub; mbsync kelar; mbsync shemshak; mbsync gnub; getmail +alias mc mbsync canonical diff --git a/.emacs.d/lisp/bandali-gnus.el b/.emacs.d/lisp/bandali-gnus.el index c2249a2..d8949ed 100644 --- a/.emacs.d/lisp/bandali-gnus.el +++ b/.emacs.d/lisp/bandali-gnus.el @@ -46,8 +46,14 @@ gnus-select-method '(nnnil "") gnus-secondary-select-methods - `(,@(cond - ((string= (system-name) "langa") + `(,@(if (string= (system-name) "darya") + '((nnimap + "canonical" + (nnimap-stream plain) + (nnimap-address "127.0.0.1") + (nnimap-server-port 143) + (nnimap-authenticator plain) + (nnimap-user "bandali@canonical.local"))) '((nnimap "kelar" (nnimap-stream plain) @@ -149,13 +155,13 @@ ;; spam ("X-Spam-Flag" "YES" "Junk") ;; catch-all - "INBOX"))))) - ((string= (system-name) "jirud") - '((nnimap - "sfl" - (nnimap-stream tls) - (nnimap-address "mail.savoirfairelinux.com") - (nnimap-user "amin.bandali")))))) + "INBOX"))) + ;; (nnimap + ;; "sfl" + ;; (nnimap-stream tls) + ;; (nnimap-address "mail.savoirfairelinux.com") + ;; (nnimap-user "amin.bandali")) + ))) gnus-message-archive-group "nnimap+gnu:INBOX" gnus-parameters '(("l\\.deepspec" @@ -171,10 +177,6 @@ (to-list . "haskell-cafe@haskell.org") (list-identifier . "\\[Haskell-cafe\\]")) ("gnu.*" - (gcc-self . t)) - ;; ("l\\." - ;; (subscribed . t)) - ("nnimap\\+uwaterloo:.*" (gcc-self . t))) ;; nnimap-record-commands t ;; gnus-large-newsgroup 50 @@ -245,7 +247,7 @@ ;; "^References:" "^List-Id:" "^Gnus-Warning:") - gnus-visible-headers (mapconcat 'identity + gnus-visible-headers (mapconcat #'identity gnus-sorted-header-list "\\|") ;; local-lapsed article dates @@ -290,49 +292,49 @@ (defvar b/sfl-p nil) (with-eval-after-load 'gnus-msg - (defvar b/shemshak-signature "Amin Bandali -https://shemshak.org/~bandali") - (defvar b/uwaterloo-signature "Amin Bandali, MMath -https://shemshak.org/~bandali") - (defvar b/csc-signature "Amin Bandali (https://shemshak.org/~bandali) -Systems Committee -Computer Science Club of the University of Waterloo") - (defvar b/sfl-signature "Amin Bandali -Free Software Consultant -Savoir-faire Linux -jami:bandali") + (let ((bandali "Amin Bandali (https://kelar.org/~bandali)")) + (defvar b/canonical-signature + (mapconcat + #'identity + `(,bandali + "Software Engineer (Desktop), Canonical") + "\n")) + (defvar b/csc-signature + (mapconcat + #'identity + `(,bandali + "Systems Committee " + "Computer Science Club of the University of Waterloo") + "\n")) + (defvar b/sfl-signature + (mapconcat + #'identity + `(,bandali + "Volunteer, Savoir-faire Linux" + "jami:bandali") + "\n"))) (setq gnus-message-replysign t gnus-posting-styles '((".*" (address "bandali@gnu.org") ("X-Message-SMTP-Method" "smtp fencepost.gnu.org 587")) - ;; ("nnimap\\+gnu:l\\..*" - ;; (signature nil)) ((header "subject" "ThankCRM") (to "webmasters-comment@gnu.org") - (body "") - (eval (setq b/message-cite-say-hi nil))) + (body "")) ("nnimap\\+kelar:.*" (address "bandali@kelar.org") ("X-Message-SMTP-Method" "smtp mail.kelar.org 587") - (body "\nBest,\n") - (gcc "nnimap+kelar:Sent") - (eval (setq b/message-cite-say-hi t))) + (gcc "nnimap+kelar:Sent")) ("nnimap\\+shemshak:.*" (address "amin@shemshak.org") ("X-Message-SMTP-Method" "smtp mail.shemshak.org 587") - (body "\nBest,\n") - (signature b/shemshak-signature) - (gcc "nnimap+shemshak:Sent") - (eval (setq b/message-cite-say-hi t))) - ("nnimap\\+uwaterloo:.*" - (address "bandali@uwaterloo.ca") - ("X-Message-SMTP-Method" "smtp connect.uwaterloo.ca 587") - (body "\nBest,\n") - (signature b/uwaterloo-signature)) - ("nnimap\\+uwaterloo:INBOX" - (gcc "\"nnimap+uwaterloo:Sent Items\"")) + (gcc "nnimap+shemshak:Sent")) + ("nnimap\\+canonical:.*" + (address "amin.bandali@canonical.com") + ("X-Message-SMTP-Method" "smtp smtp.canonical.com 587") + (signature b/canonical-signature) + (gcc "nnimap+canonical:Sent")) ("nnimap\\+csc:.*" (address "bandali@csclub.uwaterloo.ca") ("X-Message-SMTP-Method" "smtp mail.csclub.uwaterloo.ca 587") @@ -340,10 +342,10 @@ jami:bandali") (gcc "nnimap+csc:Sent")) ("nnimap\\+sfl:.*" (address "amin.bandali@savoirfairelinux.com") - (signature b/sfl-signature) ("X-Message-SMTP-Method" "smtp mail.savoirfairelinux.com 587") - (gcc "nnimap+sfl:Sent") - (eval (setq-local b/sfl-p t)))))) + (signature b/sfl-signature) + (eval (setq-local b/sfl-p t)) + (gcc "nnimap+sfl:Sent"))))) ;; hooks ;; (with-eval-after-load 'gnus ;; (add-hook 'gnus-message-setup-hook @@ -358,16 +360,15 @@ jami:bandali") gnus-topic-topology `(("Gnus" visible nil nil) (("misc" visible nil nil)) - ,@(cond - ((string= (system-name) "jirud") - '((("sfl" visible nil nil)))) - ((string= (system-name) "langa") + ,@(if (string= (system-name) "darya") + '((("canonical" visible nil nil))) '((("csc" visible nil nil)) (("uwaterloo" visible nil nil)) (("kelar" visible nil nil)) (("shemshak" visible nil nil)) (("gnu" visible nil nil)) - (("old-gnu" visible nil nil)))))))) + (("old-gnu" visible nil nil)) + (("sfl" visible nil nil))))))) (with-eval-after-load 'gnus-agent (setq gnus-agent-synchronize-flags 'ask)) diff --git a/.emacs.d/lisp/bandali-message.el b/.emacs.d/lisp/bandali-message.el index 3f064b6..137e3b3 100644 --- a/.emacs.d/lisp/bandali-message.el +++ b/.emacs.d/lisp/bandali-message.el @@ -44,11 +44,8 @@ (message-yank-prefix "> ") (message-yank-cited-prefix ">") (message-yank-empty-prefix ">") - (message-citation-line-format - (if b/message-cite-say-hi - (concat "Hi %F,\n\n" b/message-cite-style-format) - b/message-cite-style-format))) - "Citation style based on Mozilla Thunderbird's. Use with message-cite-style.") + (message-citation-line-format b/message-cite-style-format)) + "Citation style based on Mozilla Thunderbird's. Use with message-cite-style.") (setq message-elide-ellipsis "[...]\n" ;; message-cite-style 'message-cite-style-bandali @@ -62,7 +59,7 @@ message-subscribed-address-functions '(gnus-find-subscribed-addresses) message-dont-reply-to-names - "\\(\\(bandali@kelar\\.org\\)\\|\\(amin@shemshak\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\|amin\\.bandali@savoirfairelinux\\.com\\)") + "\\(\\(bandali@kelar\\.org\\)\\|\\(amin@shemshak\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\|amin\\.bandali@\\(canonical\\|savoirfairelinux\\)\\.com\\)") ;; (custom-set-faces ;; '(message-header-subject ;; ((t (:foreground "#111" :weight semi-bold)))) @@ -71,12 +68,6 @@ ;; '(message-header-cc ;; ((t (:foreground "#333" :weight normal)))) - ;; footnote - ;; (with-eval-after-load 'footnote - ;; (setq footnote-start-tag "" - ;; footnote-end-tag "" - ;; footnote-style 'unicode)) - ;; custom newline & reformat function (defun b/message-newline-or-asterism (arg) "Create newlines per my liking or insert asterism if ARG is @@ -93,28 +84,11 @@ non-nil." (kbd "M-RET") #'b/message-newline-or-asterism) ;; local key bindings - (define-key message-mode-map - [remap next-line] #'mail-abbrev-next-line) - (define-key message-mode-map - [remap end-of-buffer] #'mail-abbrev-end-of-buffer) - (defvar b/footnote-prefix-map) - (define-prefix-command 'b/footnote-prefix-map) - (define-key message-mode-map (kbd "C-c f n") - 'b/footnote-prefix-map) - (define-key b/footnote-prefix-map (kbd "a") - #'footnote-add-footnote) - (define-key b/footnote-prefix-map (kbd "b") - #'footnote-back-to-message) - (define-key b/footnote-prefix-map (kbd "c") - #'footnote-cycle-style) - (define-key b/footnote-prefix-map (kbd "d") - #'footnote-delete-footnote) - (define-key b/footnote-prefix-map (kbd "g") - #'footnote-goto-footnote) - (define-key b/footnote-prefix-map (kbd "r") - #'footnote-renumber-footnotes) - (define-key b/footnote-prefix-map (kbd "s") - #'footnote-set-style)) + ;; (define-key message-mode-map + ;; [remap next-line] #'mail-abbrev-next-line) + ;; (define-key message-mode-map + ;; [remap end-of-buffer] #'mail-abbrev-end-of-buffer) + ) ;; hooks ;; (add-hook 'message-setup-hook #'mml-secure-message-sign-pgpmime) (add-hook 'message-mode-hook #'flyspell-mode) -- 2.20.1