Browse Source

Add custom face for highlighting tags used in agenda filtering.

* org-agenda.el (org-agenda-set-mode-name): Highlight tags
used for filtering (shown in the mode-line).

* org-faces.el: Add face `org-agenda-filter-tags'.
Sebastien Vauban 6 years ago
parent
commit
63969951
2 changed files with 19 additions and 5 deletions
  1. 12 5
      lisp/org-agenda.el
  2. 7 0
      lisp/org-faces.el

+ 12 - 5
lisp/org-agenda.el

@@ -6764,13 +6764,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)

+ 7 - 0
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"))