[emacs/notmuch] don't insert the two blank lines in the beginning
[~bandali/configs] / init.org
index 01d0e87..60e319e 100644 (file)
--- a/init.org
+++ b/init.org
@@ -651,8 +651,12 @@ 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-html-divs '((preamble  "header" "preamble")
+                      (content   "main"   "content")
+                      (postamble "footer" "postamble"))
       org-html-doctype "html5"
-      org-html-html5-fancy t)
+      org-html-html5-fancy t
+      org-html-postamble nil)
 (add-hook 'org-mode-hook 'org-indent-mode)
 (use-package htmlize)
 #+end_src
@@ -1144,12 +1148,12 @@ Emacs package that displays available keybindings in popup
             #'flyspell-mode)
   ;; (add-hook 'notmuch-message-mode-hook #'+doom-modeline|set-special-modeline)
   ;; TODO: is there a way to only run this when replying and not composing?
-  (add-hook 'notmuch-message-mode-hook
-            (lambda () (progn
-                    (newline)
-                    (newline)
-                    (forward-line -1)
-                    (forward-line -1))))
+  ;; (add-hook 'notmuch-message-mode-hook
+  ;;           (lambda () (progn
+  ;;                   (newline)
+  ;;                   (newline)
+  ;;                   (forward-line -1)
+  ;;                   (forward-line -1))))
   ;; (add-hook 'message-setup-hook
   ;;           #'mml-secure-message-sign-pgpmime)
   )
@@ -1174,7 +1178,13 @@ Emacs package that displays available keybindings in popup
           ("abandali@uwaterloo.ca"     . "\"uwaterloo/Sent Items\"")
           ("amin.bandali@uwaterloo.ca" . "\"uwaterloo/Sent Items\"")
           ("aminb@gnu.org"             . "gnu/Sent")
-          (".*"                        . "sent")))
+          (".*"                        . "sent"))
+        notmuch-search-result-format
+        '(("date" . "%12s ")
+          ("count" . "%-7s ")
+          ("authors" . "%-40s ")
+          ("subject" . "%s ")
+          ("tags" . "(%s)")))
   ;; (add-hook 'visual-fill-column-mode-hook
   ;;           (lambda ()
   ;;             (when (string= major-mode 'notmuch-message-mode)
@@ -1245,6 +1255,57 @@ Emacs package that displays available keybindings in popup
   (add-to-list 'recentf-exclude (expand-file-name ab-maildir)))
 #+end_src
 
+** supercite
+
+#+begin_src emacs-lisp :tangle no
+(use-package supercite
+  :commands sc-cite-original
+  :init
+  (add-hook 'mail-citation-hook 'sc-cite-original)
+
+  (defun sc-remove-existing-signature ()
+    (save-excursion
+      (goto-char (region-beginning))
+      (when (re-search-forward message-signature-separator (region-end) t)
+        (delete-region (match-beginning 0) (region-end)))))
+
+  (add-hook 'mail-citation-hook 'sc-remove-existing-signature)
+
+  (defun sc-remove-if-not-mailing-list ()
+    (unless (assoc "list-id" sc-mail-info)
+      (setq attribution sc-default-attribution
+            citation (concat sc-citation-delimiter
+                             sc-citation-separator))))
+
+  (add-hook 'sc-attribs-postselect-hook 'sc-remove-if-not-mailing-list)
+
+  :config
+  (defun sc-fill-if-different (&optional prefix)
+    "Fill the region bounded by `sc-fill-begin' and point.
+Only fill if optional PREFIX is different than
+`sc-fill-line-prefix'.  If `sc-auto-fill-region-p' is nil, do not
+fill region.  If PREFIX is not supplied, initialize fill
+variables.  This is useful for a regi `begin' frame-entry."
+    (if (not prefix)
+        (setq sc-fill-line-prefix ""
+              sc-fill-begin (line-beginning-position))
+      (if (and sc-auto-fill-region-p
+               (not (string= prefix sc-fill-line-prefix)))
+          (let ((fill-prefix sc-fill-line-prefix))
+            (unless (or (string= fill-prefix "")
+                        (save-excursion
+                          (goto-char sc-fill-begin)
+                          (or (looking-at ">+  +")
+                              (< (length
+                                  (buffer-substring (point)
+                                                    (line-end-position)))
+                                 65))))
+              (fill-region sc-fill-begin (line-beginning-position)))
+            (setq sc-fill-line-prefix prefix
+                  sc-fill-begin (line-beginning-position)))))
+nil))
+#+end_src
+
 * Post initialization
 :PROPERTIES:
 :CUSTOM_ID: post-initialization