From 2a7b11b064233afc4feead876fa396e3c18a6b91 Mon Sep 17 00:00:00 2001 From: Matt Armstrong Date: Thu, 21 Jul 2016 14:30:33 -0700 Subject: [PATCH] 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. --- NEWS | 10 ++++++++++ emacs/notmuch.el | 39 ++++++++++++++++++++++++++++++++------- 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) -- 2.43.0