emacs: gnus: update visible headers and simplify message ids
[~bandali/configs] / .emacs.d / init.el
index 5321686..b7be16a 100644 (file)
   (previous-line)
   (insert "\n\f\n;;; "))
 
+(defun b/insert-asterism ()
+  (interactive)
+  (insert "\n\n                                 * * *\n\n"))
+
 (defun b/no-mouse-autoselect-window ()
   "Conveniently disable `focus-follows-mouse'.
 For disabling the behaviour for certain buffers and/or modes."
@@ -1239,6 +1243,7 @@ This function is intended for use with `ivy-ignore-buffers'."
   (add-hook 'prog-mode-hook #'indicate-buffer-boundaries-left))
 
 (use-feature text-mode
+  :bind (:map text-mode-map ("C-*" . b/insert-asterism))
   :hook (text-mode . indicate-buffer-boundaries-left))
 
 (use-feature conf-mode
@@ -1563,6 +1568,8 @@ This function is intended for use with `ivy-ignore-buffers'."
   (sml/apply-theme 'tangomod)
   (font-lock-remove-keywords
    'org-mode b/org-mode-font-lock-keywords)
+  (when (featurep 'erc-hl-nicks)
+    (erc-hl-nicks-reset-face-table))
   (when (featurep 'exwm-systemtray)
     (exwm-systemtray--refresh)))
 
@@ -1574,6 +1581,8 @@ This function is intended for use with `ivy-ignore-buffers'."
   (sml/apply-theme 'automatic)
   (font-lock-add-keywords
    'org-mode b/org-mode-font-lock-keywords t)
+  (when (featurep 'erc-hl-nicks)
+    (erc-hl-nicks-reset-face-table))
   (when (featurep 'exwm-systemtray)
     (exwm-systemtray--refresh)))
 
@@ -2273,13 +2282,34 @@ This function is intended for use with `ivy-ignore-buffers'."
   :config
   (setq
    gnus-buttonized-mime-types '("multipart/\\(signed\\|encrypted\\)")
-   gnus-visible-headers
-   (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:"
-     "^User-Agent:" "^Date:")
+   gnus-sorted-header-list '("^From:"
+                             "^X-RT-Originator"
+                             "^Newsgroups:"
+                             "^Subject:"
+                             "^Date:"
+                             "^Envelope-To:"
+                             "^Followup-To:"
+                             "^Reply-To:"
+                             "^Organization:"
+                             "^Summary:"
+                             "^Abstract:"
+                             "^Keywords:"
+                             "^To:"
+                             "^[BGF]?Cc:"
+                             "^Posted-To:"
+                             "^Mail-Copies-To:"
+                             "^Mail-Followup-To:"
+                             "^Apparently-To:"
+                             "^Resent-From:"
+                             "^User-Agent:"
+                             "^X-detected-operating-system:"
+                             "^Message-ID:"
+                             "^References:"
+                             "^List-Id:"
+                             "^Gnus-Warning:")
+   gnus-visible-headers (mapconcat 'identity
+                                   gnus-sorted-header-list
+                                   "\\|")
   ;; local-lapsed article dates
   ;; from https://www.emacswiki.org/emacs/GnusFormatting#toc11
   gnus-article-date-headers '(user-defined)
@@ -2334,8 +2364,7 @@ https://csclub.uwaterloo.ca/~abandali")
         gnus-posting-styles
         '((".*"
            (address "bandali@gnu.org")
-           (signature b/gnu-signature)
-           (eval (set (make-local-variable 'message-user-fqdn) "fencepost.gnu.org")))
+           (signature b/gnu-signature))
           ("nnimap\\+gnu:l\\..*"
            (signature nil))
           ((header "subject" "ThankCRM")
@@ -2404,6 +2433,7 @@ https://csclub.uwaterloo.ca/~abandali")
         mail-envelope-from 'header))
 
 (use-feature message
+  :bind (:map message-mode-map ("<C-return>" . b/insert-asterism))
   :config
   ;; redefine for a simplified In-Reply-To header
   ;; (see https://todo.sr.ht/~sircmpwn/lists.sr.ht/67)