[PATCH] emacs: Allow control over faces for search mode columns.
David Edmondson
dme at dme.org
Thu Apr 29 00:32:31 PDT 2010
Add face declarations for the date, count, matching author and subject
columns in search mode and apply those faces when building the search
mode display.
---
This is intended to support 'fruit salad' mode:
http://dme.org/images/2010-04-29-081213_1590x1197_scrot.png
emacs/notmuch.el | 59 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 43 insertions(+), 16 deletions(-)
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index d36a92d..7c9c028 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -285,27 +285,48 @@ For a mouse binding, return nil."
"Face for the single-line message summary in notmuch-show-mode."
:group 'notmuch)
-(defface notmuch-tag-face
+(defface notmuch-search-date
+ '((t :inherit default))
+ "Face used in search mode for dates."
+ :group 'notmuch)
+
+(defface notmuch-search-count
+ '((t :inherit default))
+ "Face used in search mode for the count matching the query."
+ :group 'notmuch)
+
+(defface notmuch-search-subject
+ '((t :inherit default))
+ "Face used in search mode for subjects."
+ :group 'notmuch)
+
+(defface notmuch-search-matching-authors
+ '((t :inherit default))
+ "Face used in search mode for authors matching the query."
+ :group 'notmuch)
+
+(defface notmuch-search-non-matching-authors
'((((class color)
(background dark))
- (:foreground "OliveDrab1"))
+ (:foreground "grey30"))
(((class color)
(background light))
- (:foreground "navy blue" :bold t))
+ (:foreground "grey60"))
(t
- (:bold t)))
- "Notmuch search mode face used to highligh tags."
+ (:italic t)))
+ "Face used in search mode for authors not matching the query."
:group 'notmuch)
-(defface notmuch-search-non-matching-authors
+(defface notmuch-tag-face
'((((class color)
(background dark))
- (:foreground "grey30"))
+ (:foreground "OliveDrab1"))
(((class color)
(background light))
- (:foreground "grey60"))
- (t (:italic t)))
- "Face used in search mode for authors not matching the query."
+ (:foreground "navy blue" :bold t))
+ (t
+ (:bold t)))
+ "Face used in search mode face for tags."
:group 'notmuch)
;;;###autoload
@@ -599,21 +620,27 @@ matching will be applied."
;; `notmuch-search-process-filter'.
(save-match-data
(if (string-match "\\(.*\\)|\\(..*\\)" truncated-string)
- (concat (match-string 1 truncated-string) ","
+ (concat (propertize (concat (match-string 1 truncated-string) ",")
+ 'face 'notmuch-search-matching-authors)
(propertize (match-string 2 truncated-string)
'face 'notmuch-search-non-matching-authors))
- truncated-string)))))
+ (propertize truncated-string 'face 'notmuch-search-matching-authors))))))
(defun notmuch-search-insert-field (field date count authors subject tags)
(cond
((string-equal field "date")
- (insert (format (cdr (assoc field notmuch-search-result-format)) date)))
+ (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) date)
+ 'face 'notmuch-search-date)))
((string-equal field "count")
- (insert (format (cdr (assoc field notmuch-search-result-format)) count)))
+ (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) count)
+ 'face 'notmuch-search-count)))
+ ((string-equal field "subject")
+ (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) subject)
+ 'face 'notmuch-search-subject)))
+
((string-equal field "authors")
(notmuch-search-insert-authors (cdr (assoc field notmuch-search-result-format)) authors))
- ((string-equal field "subject")
- (insert (format (cdr (assoc field notmuch-search-result-format)) subject)))
+
((string-equal field "tags")
(insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")")))))
--
1.7.0
More information about the notmuch
mailing list