(defface notmuch-search-flagged-face
'((t
- (:weight bold)))
+ (:foreground "blue")))
"Face used in search mode face for flagged threads.
This face is the default value for the \"flagged\" tag in
(defface notmuch-search-unread-face
'((t
- (:foreground "blue")))
+ (:weight bold)))
"Face used in search mode for unread threads.
This face is the default value for the \"unread\" tag in
:group 'notmuch-search
:group 'notmuch-faces)
-(defun notmuch-search-mode ()
+(define-derived-mode notmuch-search-mode fundamental-mode "notmuch-search"
"Major mode displaying results of a notmuch search.
This buffer contains the results of a \"notmuch search\" of your
Complete list of currently available key bindings:
\\{notmuch-search-mode-map}"
- (interactive)
- (kill-all-local-variables)
(make-local-variable 'notmuch-search-query-string)
(make-local-variable 'notmuch-search-oldest-first)
(make-local-variable 'notmuch-search-target-thread)
(setq notmuch-buffer-refresh-function #'notmuch-search-refresh-view)
(set (make-local-variable 'scroll-preserve-screen-position) t)
(add-to-invisibility-spec (cons 'ellipsis t))
- (use-local-map notmuch-search-mode-map)
(setq truncate-lines t)
- (setq major-mode 'notmuch-search-mode
- mode-name "notmuch-search")
(setq buffer-read-only t))
(defun notmuch-search-get-result (&optional pos)
(goto-char (point-min))
(forward-line (1- notmuch-search-target-line)))))))))
+(define-widget 'notmuch--custom-face-edit 'lazy
+ "Custom face edit with a tag Edit Face"
+ ;; I could not persuage custom-face-edit to respect the :tag
+ ;; property so create a widget specially
+ :tag "Manually specify face"
+ :type 'custom-face-edit)
+
(defcustom notmuch-search-line-faces
- '(("unread" 'notmuch-search-unread-face)
- ("flagged" 'notmuch-search-flagged-face))
+ '(("unread" . notmuch-search-unread-face)
+ ("flagged" . notmuch-search-flagged-face))
"Alist of tags to faces for line highlighting in notmuch-search.
Each element looks like (TAG . FACE).
A thread with TAG will have FACE applied.
later. A message having both \"deleted\" and \"unread\" tags with
the above settings would have a green foreground and blue
background."
- :type '(alist :key-type (string) :value-type (custom-face-edit))
+ :type '(alist :key-type (string)
+ :value-type (radio (face :tag "Face name")
+ (notmuch--custom-face-edit)))
:group 'notmuch-search
:group 'notmuch-faces)
(defun notmuch-search-color-line (start end line-tag-list)
"Colorize lines in `notmuch-show' based on tags."
- (mapc (lambda (elem)
- (let ((tag (car elem))
- (attributes (cdr elem)))
- (when (member tag line-tag-list)
- (notmuch-apply-face nil attributes nil start end))))
- ;; Reverse the list so earlier entries take precedence
- (reverse notmuch-search-line-faces)))
+ ;; Reverse the list so earlier entries take precedence
+ (dolist (elem (reverse notmuch-search-line-faces))
+ (let ((tag (car elem))
+ (face (cdr elem)))
+ (when (member tag line-tag-list)
+ (notmuch-apply-face nil face nil start end)))))
(defun notmuch-search-author-propertize (authors)
"Split `authors' into matching and non-matching authors and
(with-current-buffer b
(memq major-mode '(notmuch-show-mode
notmuch-search-mode
+ notmuch-tree-mode
notmuch-hello-mode
- message-mode))))
+ notmuch-message-mode))))
;;;###autoload
(defun notmuch-cycle-notmuch-buffers ()