diff options
| author | jao <jao@gnu.org> | 2021-09-01 02:04:32 +0100 | 
|---|---|---|
| committer | jao <jao@gnu.org> | 2021-09-01 02:04:32 +0100 | 
| commit | 71290eea7350ddbc57f9ae0813dae6233d45b4d1 (patch) | |
| tree | 04dfd18495ec99acb6f012822c7a293c45a0a80f | |
| parent | 6d6f596043e5cf190a2d40534cfc70ffeabb9536 (diff) | |
| download | elibs-71290eea7350ddbc57f9ae0813dae6233d45b4d1.tar.gz elibs-71290eea7350ddbc57f9ae0813dae6233d45b4d1.tar.bz2  | |
notmuch: using the latest jao-notmuch thingies
| -rw-r--r-- | notmuch.org | 39 | 
1 files changed, 31 insertions, 8 deletions
diff --git a/notmuch.org b/notmuch.org index a0af9b5..3494938 100644 --- a/notmuch.org +++ b/notmuch.org @@ -295,20 +295,43 @@  * tree    #+begin_src emacs-lisp      (use-package notmuch-tree +      :init + +      (defun jao-notmuch--truncate (x) +        (truncate-string-to-width (format "%-102s" x) 102 nil nil t)) + +      (defun jao-notmuch--msg-ticks (msg) +        (let ((headers (plist-get msg :headers))) +          (cond ((string-match-p jao-mails-regexp (or (plist-get headers :To) "")) +                 (propertize " »" 'face 'notmuch-tree-match-tree-face)) +                ((string-match-p jao-mails-regexp (or (plist-get headers :Cc) "")) +                 (propertize " ¬" 'face 'notmuch-tree-match-tree-face)) +                (t "  ")))) + +      (defun jao-notmuch--tree-subject (msg) +        (thread-first '(("tree" . " %s") ("subject" . " %s")) +          (notmuch-tree-format-field-list msg) +          (jao-notmuch--truncate))) + +      (setq notmuch-tree-result-format +            '(("date" . "%12s  ") +              ("authors" . "%-35s") +              (jao-notmuch--msg-ticks) +              (jao-notmuch--tree-subject) +              ("tags" . "  (%s)")) +            notmuch-unthreaded-result-format notmuch-tree-result-format +            notmuch-tree-thread-symbols +            '((prefix . "─") (top . "─") (top-tee . "┬") +              (vertical . "│") (vertical-tee . "├") (bottom . "╰") +              (arrow . ""))) +        :config +        (let ((fg (face-attribute 'jao-themes-dimm :foreground)))          (dolist (f '(notmuch-tree-match-tree-face                       notmuch-tree-no-match-tree-face))            (set-face-attribute f nil :family "Fira Code" :foreground fg))) -      (defun jao-notmuch--format-field (fun field fmt msg) -        (let ((rs (funcall fun field fmt msg))) -          (cond ((and (stringp field) (string= field "tree")) -                 (replace-regexp-in-string "►" "" rs)) ;; "→" -                (t (truncate-string-to-width rs 102 nil nil t))))) - -      (advice-add 'notmuch-tree-format-field :around #'jao-notmuch--format-field) -        (jao-notmuch-tree-setup "T")        :bind (:map notmuch-tree-mode-map  | 
