Hello,

Please find a (very usefulĀ ;-)) patch for highlighting (in the mode-line) the
tags which are used to filter the agenda.

I'd like even to be able to put in one color the "positive" tags and in
another the "negative" ones, but that's above my current knowledge of
text-properties...

Anyway, here is a usable first version -- where all tags are in the same
color, much more easily to spot (before you wonder why you have so few lines
in your agenda!).

Best regards,
  Seb

-- 
Sebastien Vauban
>From 9492f3a5defeae992685d90e187ceb441c2ebea1 Mon Sep 17 00:00:00 2001
From: Sebastien Vauban <s...@mygooglest.com>
Date: Thu, 27 Oct 2011 23:08:04 +0200
Subject: [PATCH 2/2] Add custom face for highlighting tags used in agenda
 filtering.

---
 lisp/org-agenda.el |   17 ++++++++++++-----
 lisp/org-faces.el  |    7 +++++++
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 66686f9..fe26b11 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -6761,13 +6761,20 @@ When called with a prefix argument, include all archive files as well."
 	       ((eq org-agenda-show-log 'clockcheck) " ClkCk")
 	       (org-agenda-show-log " Log")
 	       (t ""))
+	      ;; show tags used for filtering in a custom face
 	      (if (or org-agenda-filter (get 'org-agenda-filter
 					     :preset-filter))
-		  (concat " {" (mapconcat
-				'identity
-				(append (get 'org-agenda-filter
-					     :preset-filter)
-					org-agenda-filter) "") "}")
+		  '(:eval (propertize
+			   (concat " {"
+				   (mapconcat
+				    'identity
+				    (append
+				     (get 'org-agenda-filter :preset-filter)
+				     org-agenda-filter)
+				    "")
+				   "}")
+			   'face 'org-agenda-filter-tags
+			   'help-echo "Tags used in filtering"))
 		"")
 	      (if org-agenda-archives-mode
 		  (if (eq org-agenda-archives-mode t)
diff --git a/lisp/org-faces.el b/lisp/org-faces.el
index aac82c9..519c858 100644
--- a/lisp/org-faces.el
+++ b/lisp/org-faces.el
@@ -672,6 +672,13 @@ month and 365.24 days for a year)."
   "Face for showing the agenda restriction lock."
   :group 'org-faces)
 
+(defface org-agenda-filter-tags
+  (org-compatible-face nil
+    '((((background light)) (:foreground "orange"))
+      (((background dark))  (:foreground "orange"))))
+  "Face for showing the tags (in the mode-line) which are used in the agenda filtering."
+  :group 'org-faces)
+
 (defface org-time-grid ;; originally copied from font-lock-variable-name-face
   (org-compatible-face nil
     '((((class color) (min-colors 16) (background light)) (:foreground "DarkGoldenrod"))
-- 
1.7.5.1

Attachment: ChangeLog
Description: Binary data

Reply via email to