X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/55ac7968b4171c9ab8b5e3487b00d4b73b794a18..9d3e290041382bd77f3e58d75dfd760420fe4d57:/.emacs.d/lisp/bandali-gnus.el diff --git a/.emacs.d/lisp/bandali-gnus.el b/.emacs.d/lisp/bandali-gnus.el index 237e4f3..445fe84 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) @@ -75,6 +81,8 @@ (| ;; (: gnus-registry-split-fancy-with-parent) ;; (: gnus-group-split-fancy "INBOX" t "INBOX") + ;; spam + ("X-Spam_action" "reject" "Junk") ;; keep debbugs emails in INBOX (list ".*<\\(.*\\)\\.debbugs\\.gnu\\.org>.*" "INBOX") ;; list moderation emails @@ -83,6 +91,8 @@ (list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1") ;; fsf (list ".*<\\(.*\\)\\.fsf\\.org>.*" "l.\\1") + ;; debian + (list ".*<\\(.*\\)\\.alioth-lists\\.debian\\.net>.*" "l.\\1") ;; gnus (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1") ;; libreplanet @@ -112,27 +122,8 @@ ;; ---------------------------------- ;; legend: (u)nsubscribed | (d)ead ;; ---------------------------------- - ;; spam - ("X-Spam_action" "reject" "Junk") ;; otherwise, leave mail in INBOX "INBOX"))) - (nnimap - "uwaterloo" - (nnimap-stream plain) - (nnimap-address "127.0.0.1") - (nnimap-server-port 143) - (nnimap-authenticator plain) - (nnimap-user "abandali@uwaterloo.local") - (nnimap-inbox "INBOX") - (nnimap-split-methods 'nnimap-split-fancy) - (nnimap-split-fancy - (| - ;; (: gnus-registry-split-fancy-with-parent) - ;; se212-f19 - ("subject" "SE\\s-?212" "course.se212-f19") - (from "SE\\s-?212" "course.se212-f19") - ;; catch-all - "INBOX"))) (nnimap "csc" (nnimap-stream plain) @@ -149,13 +140,14 @@ ;; 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 plain) + (nnimap-address "127.0.0.1") + (nnimap-server-port 143) + (nnimap-authenticator plain) + (nnimap-user "amin.bandali@savoirfairelinux.local"))))) gnus-message-archive-group "nnimap+gnu:INBOX" gnus-parameters '(("l\\.deepspec" @@ -171,10 +163,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 @@ -197,6 +185,8 @@ '(list . "list-id\\|list-post\\|x-mailing-list\\|x-beenthere\\|x-loop") t))) + (setq gnus-user-agent '(emacs gnus type)) + ;; (require 'gnus-registry) ;; (setq gnus-registry-max-entries 2500) ;; (setq gnus-registry-ignored-groups @@ -245,7 +235,7 @@ ;; "^References:" "^List-Id:" "^Gnus-Warning:") - gnus-visible-headers (mapconcat 'identity + gnus-visible-headers (mapconcat #'identity gnus-sorted-header-list "\\|") ;; local-lapsed article dates @@ -269,6 +259,8 @@ (setq gnus-thread-sort-functions '(gnus-thread-sort-by-number gnus-thread-sort-by-subject gnus-thread-sort-by-date)) + (with-eval-after-load 'message + (setq gnus-ignored-from-addresses message-dont-reply-to-names)) ;; local key bindings (define-key gnus-summary-mode-map (kbd "M-L") #'org-store-link) ;; (define-key gnus-summary-mode-map (kbd "r") @@ -290,49 +282,43 @@ (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/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 "bandali@canonical.com") + ("X-Message-SMTP-Method" "smtp smtp.canonical.com 587") + (signature nil) + (gcc "nnimap+canonical:Sent")) ("nnimap\\+csc:.*" (address "bandali@csclub.uwaterloo.ca") ("X-Message-SMTP-Method" "smtp mail.csclub.uwaterloo.ca 587") @@ -340,10 +326,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 +344,14 @@ 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)) @@ -381,13 +365,25 @@ jami:bandali") (with-eval-after-load 'gnus-dired (add-hook 'dired-mode-hook 'gnus-dired-mode)) +(with-eval-after-load 'mm-archive + (add-to-list + 'mm-archive-decoders + '("application/gzip" nil "gunzip" "-S" ".zip" "-kd" "%f" "-r"))) + +(with-eval-after-load 'gnus-start + (add-hook 'gnus-after-getting-new-news-hook #'gnus-notifications)) + (with-eval-after-load 'mm-decode (setq ;; mm-attachment-override-types `("text/x-diff" "text/x-patch" ;; ,@mm-attachment-override-types) mm-discouraged-alternatives '("text/html" "text/richtext") mm-decrypt-option 'known - mm-verify-option 'known)) + mm-verify-option 'known) + (add-to-list + 'mm-inline-media-tests + `("application/gzip" mm-archive-dissect-and-inline identity)) + (add-to-list 'mm-inlined-types "application/gzip" 'append)) (with-eval-after-load 'mm-uu (when (version< "27" emacs-version)