aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Armstrong <marmstrong@google.com>2016-07-21 14:30:33 -0700
committerDavid Bremner <david@tethera.net>2016-08-02 13:40:44 +0900
commit2a7b11b064233afc4feead876fa396e3c18a6b91 (patch)
tree29d6c5a740754507f38aad1f4d910012589fe01f
parent2ce0f1368f3c69071c04019c6aa8b6dfcca2015b (diff)
emacs: express n-search-line-faces in terms of two new faces
The two new faces (notmuch-search-flagged-face and notmuch-search-unread-face) make it easier to find the relevant face by customizing notmuch-faces. I plan to do the same to the other alists of faces found elsewhere.
-rw-r--r--NEWS10
-rw-r--r--emacs/notmuch.el39
2 files changed, 42 insertions, 7 deletions
diff --git a/NEWS b/NEWS
index ab661d4d..3a9c8d36 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,16 @@
Notmuch 0.23 (UNRELEASED)
=========================
+Emacs
+-----
+
+Face customization is easier
+
+ New faces `notmuch-search-flagged-face` and
+ `notmuch-search-unread-face` are used by default by
+ `notmuch-search-line-faces`. Customize `notmuch-faces` to modify
+ them.
+
Ruby Bindings
-------------
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 8acdef37..43d56f7b 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -311,6 +311,26 @@ there will be called at other points of notmuch execution."
:group 'notmuch-search
:group 'notmuch-faces)
+(defface notmuch-search-flagged-face
+ '((t
+ (:weight bold)))
+ "Face used in search mode face for flagged threads.
+
+This face is the default value for the \"flagged\" tag in
+`notmuch-search-line-faces`."
+ :group 'notmuch-search
+ :group 'notmuch-faces)
+
+(defface notmuch-search-unread-face
+ '((t
+ (:foreground "blue")))
+ "Face used in search mode for unread threads.
+
+This face is the default value for the \"unread\" tag in
+`notmuch-search-line-faces`."
+ :group 'notmuch-search
+ :group 'notmuch-faces)
+
(defun notmuch-search-mode ()
"Major mode displaying results of a notmuch search.
@@ -654,9 +674,12 @@ of the result."
(goto-char (point-min))
(forward-line (1- notmuch-search-target-line)))))))))
-(defcustom notmuch-search-line-faces '(("unread" :weight bold)
- ("flagged" :foreground "blue"))
- "Tag/face mapping for line highlighting in notmuch-search.
+(defcustom notmuch-search-line-faces
+ '(("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.
Here is an example of how to color search results based on tags.
(the following text would be placed in your ~/.emacs file):
@@ -665,10 +688,12 @@ Here is an example of how to color search results based on tags.
(\"deleted\" . (:foreground \"red\"
:background \"blue\"))))
-The attributes defined for 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."
+The FACE must be a face name (a symbol or string), a property
+list of face attributes, or a list of these. The faces for
+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))
:group 'notmuch-search
:group 'notmuch-faces)