[PATCH 06/13] emacs: Allow control over faces for search mode columns.
authorDavid Edmondson <dme@dme.org>
Wed, 19 May 2010 07:03:33 +0000 (08:03 +0100)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:37:04 +0000 (09:37 -0800)
cc/c4c37387bbe1457d452c29d86413d706d6b601 [new file with mode: 0644]

diff --git a/cc/c4c37387bbe1457d452c29d86413d706d6b601 b/cc/c4c37387bbe1457d452c29d86413d706d6b601
new file mode 100644 (file)
index 0000000..a95638b
--- /dev/null
@@ -0,0 +1,161 @@
+Return-Path: <dme@dme.org>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 37009418C3C\r
+       for <notmuch@notmuchmail.org>; Wed, 19 May 2010 01:55:00 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -1.9\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5\r
+       tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id k6fnXfWaQW0Q for <notmuch@notmuchmail.org>;\r
+       Wed, 19 May 2010 01:54:48 -0700 (PDT)\r
+Received: from mail-ew0-f213.google.com (mail-ew0-f213.google.com\r
+       [209.85.219.213])\r
+       by olra.theworths.org (Postfix) with ESMTP id 0614240CAE9\r
+       for <notmuch@notmuchmail.org>; Wed, 19 May 2010 01:53:47 -0700 (PDT)\r
+Received: by mail-ew0-f213.google.com with SMTP id 5so1814155ewy.0\r
+       for <notmuch@notmuchmail.org>; Wed, 19 May 2010 01:53:47 -0700 (PDT)\r
+Received: by 10.213.51.212 with SMTP id e20mr3608242ebg.85.1274259227479;\r
+       Wed, 19 May 2010 01:53:47 -0700 (PDT)\r
+Received: from ut.hh.sledj.net (host83-217-165-81.dsl.vispa.com\r
+       [83.217.165.81])\r
+       by mx.google.com with ESMTPS id 13sm3495931ewy.9.2010.05.19.01.53.43\r
+       (version=TLSv1/SSLv3 cipher=RC4-MD5);\r
+       Wed, 19 May 2010 01:53:45 -0700 (PDT)\r
+Received: by ut.hh.sledj.net (Postfix, from userid 1000)\r
+       id 562F3594098; Wed, 19 May 2010 08:03:45 +0100 (BST)\r
+From: David Edmondson <dme@dme.org>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 06/13] emacs: Allow control over faces for search mode\r
+ columns.\r
+Date: Wed, 19 May 2010 08:03:33 +0100\r
+Message-Id: <1274252620-1249-7-git-send-email-dme@dme.org>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1274252620-1249-1-git-send-email-dme@dme.org>\r
+References: <1274252620-1249-1-git-send-email-dme@dme.org>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 19 May 2010 08:55:00 -0000\r
+\r
+Add face declarations for the date, count, matching author and subject\r
+columns in search mode and apply those faces when building the search\r
+mode display.\r
+---\r
+ emacs/notmuch.el |   59 +++++++++++++++++++++++++++++++++++++++--------------\r
+ 1 files changed, 43 insertions(+), 16 deletions(-)\r
+\r
+diff --git a/emacs/notmuch.el b/emacs/notmuch.el\r
+index d36a92d..7c9c028 100644\r
+--- a/emacs/notmuch.el\r
++++ b/emacs/notmuch.el\r
+@@ -285,27 +285,48 @@ For a mouse binding, return nil."\r
+  "Face for the single-line message summary in notmuch-show-mode."\r
+  :group 'notmuch)\r
\r
+-(defface notmuch-tag-face\r
++(defface notmuch-search-date\r
++  '((t :inherit default))\r
++  "Face used in search mode for dates."\r
++  :group 'notmuch)\r
++\r
++(defface notmuch-search-count\r
++  '((t :inherit default))\r
++  "Face used in search mode for the count matching the query."\r
++  :group 'notmuch)\r
++\r
++(defface notmuch-search-subject\r
++  '((t :inherit default))\r
++  "Face used in search mode for subjects."\r
++  :group 'notmuch)\r
++\r
++(defface notmuch-search-matching-authors\r
++  '((t :inherit default))\r
++  "Face used in search mode for authors matching the query."\r
++  :group 'notmuch)\r
++\r
++(defface notmuch-search-non-matching-authors\r
+   '((((class color)\r
+       (background dark))\r
+-     (:foreground "OliveDrab1"))\r
++     (:foreground "grey30"))\r
+     (((class color)\r
+       (background light))\r
+-     (:foreground "navy blue" :bold t))\r
++     (:foreground "grey60"))\r
+     (t\r
+-     (:bold t)))\r
+-  "Notmuch search mode face used to highligh tags."\r
++     (:italic t)))\r
++  "Face used in search mode for authors not matching the query."\r
+   :group 'notmuch)\r
\r
+-(defface notmuch-search-non-matching-authors\r
++(defface notmuch-tag-face\r
+   '((((class color)\r
+       (background dark))\r
+-     (:foreground "grey30"))\r
++     (:foreground "OliveDrab1"))\r
+     (((class color)\r
+       (background light))\r
+-     (:foreground "grey60"))\r
+-    (t (:italic t)))\r
+-  "Face used in search mode for authors not matching the query."\r
++     (:foreground "navy blue" :bold t))\r
++    (t\r
++     (:bold t)))\r
++  "Face used in search mode face for tags."\r
+   :group 'notmuch)\r
\r
+ ;;;###autoload\r
+@@ -599,21 +620,27 @@ matching will be applied."\r
+           ;; `notmuch-search-process-filter'.\r
+           (save-match-data\r
+             (if (string-match "\\(.*\\)|\\(..*\\)" truncated-string)\r
+-                (concat (match-string 1 truncated-string) ","\r
++                (concat (propertize (concat (match-string 1 truncated-string) ",")\r
++                                    'face 'notmuch-search-matching-authors)\r
+                         (propertize (match-string 2 truncated-string)\r
+                                     'face 'notmuch-search-non-matching-authors))\r
+-              truncated-string)))))\r
++              (propertize truncated-string 'face 'notmuch-search-matching-authors))))))\r
\r
+ (defun notmuch-search-insert-field (field date count authors subject tags)\r
+   (cond\r
+    ((string-equal field "date")\r
+-    (insert (format (cdr (assoc field notmuch-search-result-format)) date)))\r
++    (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) date)\r
++                      'face 'notmuch-search-date)))\r
+    ((string-equal field "count")\r
+-    (insert (format (cdr (assoc field notmuch-search-result-format)) count)))\r
++    (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) count)\r
++                      'face 'notmuch-search-count)))\r
++   ((string-equal field "subject")\r
++    (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) subject)\r
++                      'face 'notmuch-search-subject)))\r
++\r
+    ((string-equal field "authors")\r
+     (notmuch-search-insert-authors (cdr (assoc field notmuch-search-result-format)) authors))\r
+-   ((string-equal field "subject")\r
+-    (insert (format (cdr (assoc field notmuch-search-result-format)) subject)))\r
++\r
+    ((string-equal field "tags")\r
+     (insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")")))))\r
\r
+-- \r
+1.7.1\r
+\r