X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch.el;h=46f14fea1dd0ff112a57e64154cc5e5eeb19ab37;hp=ecf7198003e2af6c8fd1025414971ad414b24544;hb=001256ab2916ab809b75ea8aa4bc363bf81a4174;hpb=e954310d70674a439a50cf4c699467567095b057 diff --git a/emacs/notmuch.el b/emacs/notmuch.el index ecf71980..46f14fea 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -313,7 +313,7 @@ there will be called at other points of notmuch execution." (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 @@ -323,7 +323,7 @@ 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 @@ -669,9 +669,16 @@ of the result." (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. @@ -689,19 +696,20 @@ matching tags are merged, with earlier attributes overriding 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 @@ -923,8 +931,8 @@ PROMPT is the string to prompt with." "Return the current query in this search buffer" notmuch-search-query-string) -;;;###autoload (put 'notmuch-search 'notmuch-doc "Search for messages.") +;;;###autoload (defun notmuch-search (&optional query oldest-first target-thread target-line) "Display threads matching QUERY in a notmuch-search buffer. @@ -1050,8 +1058,9 @@ current search results AND that are tagged with the given tag." (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 ()