[emacs/gnus] show the User-Agent header in article/mail summary
[~bandali/configs] / init.org
index 0a9434c..5b0aac6 100644 (file)
--- a/init.org
+++ b/init.org
@@ -704,7 +704,9 @@ In short, my favourite way of life.
   (setq org-src-tab-acts-natively t
         org-src-preserve-indentation nil
         org-edit-src-content-indentation 0
+        org-email-link-description-format "Email %c: %s" ; %.30s
         org-log-done 'time)
+  :bind (:map org-mode-map ("M-L" . org-insert-last-stored-link))
   :hook ((org-mode . org-indent-mode)
          (org-mode . auto-fill-mode)
          (org-mode . flyspell-mode))
@@ -1756,7 +1758,7 @@ Hopefully temporary.
 
 ** Gnus
 
-#+begin_src emacs-lisp :tangle yes
+#+begin_src emacs-lisp
 (setq amin-gnus-init-file (no-littering-expand-etc-file-name "gnus"))
 
 (use-package gnus
@@ -1780,18 +1782,9 @@ Hopefully temporary.
    gnus-message-archive-group "nnimap:Sent"
    gnus-parameters
    '(("amin"
-      (display . 20)
-      (posting-style
-       ((header "to" "amin@aminb.org")
-        (address "amin@aminb.org"))
-       ((header "delivered-to" "gnu@aminb.org")
-        (address "bandali@gnu.org"))))
+      (display . 20))
      ("uwaterloo"
-      (display . 20)
-      (posting-style
-       (address "abandali@uwaterloo.ca")
-       (gcc "\"nnimap+uwaterloo:Sent Items\""))))
-   ;; gnus-init-file        amin-gnus-init-file
+      (display . 20)))
    gnus-home-directory   (no-littering-expand-var-file-name "gnus/")
    gnus-directory        (no-littering-expand-var-file-name "gnus/News/")
    message-directory     amin-maildir
@@ -1804,12 +1797,12 @@ Hopefully temporary.
   :config
   (setq
    gnus-visible-headers
-   (concat gnus-visible-headers "\\|^List-Id:\\|^X-RT-Originator:")
+   (concat gnus-visible-headers "\\|^List-Id:\\|^X-RT-Originator:\\|^User-Agent:")
    gnus-sorted-header-list
    '("^From:" "^Subject:" "^Summary:" "^Keywords:"
      "^Followup-To:" "^To:" "^Cc:" "X-RT-Originator"
      "^Newsgroups:" "List-Id:" "^Organization:"
-     "^Date:")
+     "^User-Agent:" "^Date:")
   ;; local-lapsed article dates
   ;; from https://www.emacswiki.org/emacs/GnusFormatting#toc11
   gnus-article-date-headers '(user-defined)
@@ -1822,18 +1815,48 @@ Hopefully temporary.
            (lapsed (progn
                      (string-match " (.+" combined-lapsed)
                      (match-string 0 combined-lapsed))))
-      (concat local lapsed)))))
+      (concat local lapsed))))
+  (bind-keys
+   :map gnus-article-mode-map
+   ("r"   . gnus-article-reply-with-original)
+   ("R"   . gnus-article-wide-reply-with-original)
+   ("M-L" . org-store-link)))
 
 (use-package gnus-sum
+  :bind (:map gnus-summary-mode-map
+              :prefix-map amin--gnus-summary-prefix-map
+              :prefix "v"
+              ("r" . gnus-summary-reply)
+              ("w" . gnus-summary-wide-reply)
+              ("v" . gnus-summary-show-raw-article))
   :config
   (setq gnus-extra-headers (append gnus-extra-headers
-                                   '(List-Id X-RT-Originator))))
+                                   '(List-Id X-RT-Originator)))
+  (bind-keys
+   :map gnus-summary-mode-map
+   ("r"   . gnus-summary-reply-with-original)
+   ("R"   . gnus-summary-wide-reply-with-original)
+   ("M-L" . org-store-link)))
 
 (use-package nnmail
   :config
   (setq nnmail-extra-headers (append nnmail-extra-headers
                                      '(List-Id X-RT-Originator))))
 
+(use-package gnus-msg
+  :config
+  (setq gnus-posting-styles
+        '((".*"
+           (address "amin@aminb.org"))
+          ("gnu.*"
+           (address "bandali@gnu.org"))
+          ("nnimap\\+uwaterloo:.*"
+           (address "abandali@uwaterloo.ca")
+           (gcc "\"nnimap+uwaterloo:Sent Items\"")))))
+
+(use-package gnus-group
+  :hook (gnus-group-mode . gnus-topic-mode))
+
 (use-package mm-decode
   :config
   (setq mm-discouraged-alternatives '("text/html" "text/richtext")))
@@ -1928,6 +1951,47 @@ variables.  This is useful for a regi `begin' frame-entry."
 nil))
 #+end_src
 
+** COMMENT gnus-alias                                              :ARCHIVE:
+
+#+begin_src emacs-lisp
+(use-package gnus-alias
+  :commands (gnus-alias-determine-identity
+             gnus-alias-select-identity)
+  :bind (:map  message-mode-map
+               ("s-i" . gnus-alias-select-identity))
+  :config
+  (setq
+   gnus-alias-default-identity "amin"
+   gnus-alias-identity-alist
+   '(("amin"
+      nil   ;; Does not refer to any other identity
+      "Amin Bandali <amin@aminb.org>"
+      nil   ;; Organization
+      nil   ;; extra headers
+      nil   ;; extra body text
+      nil)  ;; signature file
+     ("gnu"
+      nil
+      "Amin Bandali <bandali@gnu.org>"
+      nil
+      nil
+      nil
+      nil)
+     ("uw"
+      nil
+      "Amin Bandali <abandali@uwaterloo.ca>"
+      nil
+      (("Gcc" . "\"nnimap+uwaterloo:Sent Items\""))
+      nil
+      nil))
+   gnus-alias-identity-rules
+   '(("amin" ("Delivered-To" "<amin\\@aminb\\.org" both) "amin")
+     ("gnu" ("Delivered-To" "<gnu\\@aminb\\.org" both) "gnu")
+     ("uw" ("any" "<\\(.+\\)\\@uwaterloo\\.ca" both) "uw"))
+   gnus-alias-override-user-mail-address t)
+  :hook (message-setup . gnus-alias-determine-identity))
+#+end_src
+
 ** COMMENT [[https://notmuchmail.org][notmuch]]                                                 :ARCHIVE:
 
 See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]].