aboutsummaryrefslogtreecommitdiff
path: root/bard-emacs-modules/bard-emacs-email.el
blob: 24ccad5d48b3e8976e06ade7ffc06dbc2d5e02a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
;; General `notmuch' ui configuration

(use-package notmuch
  :ensure t
  :config
  (define-key global-map (kbd "C-c m") #'notmuch))

(use-package notmuch-indicator
  :ensure t)

(use-package mbsync
  :ensure t)

(setq notmuch-show-logo nil
      notmuch-column-control 1.0
      notmuch-hello-auto-refresh t
      notmuch-hello-recent-searches-max 20
      notmuch-hello-thousands-separator ""
      notmuch-hello-sections '(notmuch-hello-insert-saved-searches)
      notmuch-show-all-tags-list t)

(setq notmuch-search-oldest-first nil)
(setq notmuch-show-seen-current-message t)

(defun bard/notmuch-mua-empty-subject-check ()
  "Request confirmation before sending a message with empty subject."
  (when (and (null (message-field-value "Subject"))
             (not (y-or-n-p "Subject is empty, send anyway? ")))
    (error "Sending message cancelled: empty subject")))
(add-hook 'message-send-hook 'bard/notmuch-mua-empty-subject-check)

(setq notmuch-saved-searches
        `(( :name "📥 inbox"
            :query "tag:inbox"
            :sort-order newest-first
            :key ,(kbd "i"))
          ( :name "💬 unread (inbox)"
            :query "tag:unread and tag:inbox"
            :sort-order newest-first
            :key ,(kbd "u"))))


(setq notmuch-archive-tags '("+archive")
      notmuch-message-replied-tags '("+replied")
      notmuch-message-forwarded-tags '("+forwarded")
      notmuch-show-mark-read-tags '("-unread")
      notmuch-draft-tags '("+draft")
      notmuch-draft-folder "drafts"
      notmuch-draft-save-plaintext 'ask)