Hi David,

David Belohrad <da...@belohrad.ch> writes:

> Now, tags MARS, 2013 and REFILABLE are 'common' tags I use when
> filtering for them, but generally I don't want to see them in the
> agenda. I'd like to see only tags starting with '#' or '@' as those
> identify to me projects and people involved. If I would be able to do
> it, my agenda view would become less messy.
>
> Is this possible?

See `org-agenda-hide-tags-regexp'.

If you want to hide "write" and "read",
you can set it like this

(setq org-agenda-hide-tags-regexp
   (regexp-opt '("write" "read")))

I also attach a patch that extends `org-agenda-remove-tags'
to accept a list of tags to remove.  This is a first step
in removing org-agenda-hide-tags-regexp, as I think both
options are somewhat redundant and we could make the users'
life easier here.

If other can test it and say if they use one of these options,
that'd be nice.

HTH,

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 84b2a76..15d776f 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -1845,14 +1845,16 @@ Nil means don't hide any tags."
 	  (string :tag "Regexp   ")))
 
 (defcustom org-agenda-remove-tags nil
-  "Non-nil means remove the tags from the headline copy in the agenda.
+  "Non-nil means remove tags from the headline in the agenda.
 When this is the symbol `prefix', only remove tags when
-`org-agenda-prefix-format' contains a `%T' specifier."
+`org-agenda-prefix-format' contains a `%T' specifier.
+When this is a list, only remove the listed tags."
   :group 'org-agenda-line-format
   :type '(choice
 	  (const :tag "Always" t)
-	  (const :tag "Never" nil)
-	  (const :tag "When prefix format contains %T" prefix)))
+	  (repeat (string :tag "Remove this tag"))
+	  (const :tag "When prefix format contains %T" prefix)
+	  (const :tag "Never" nil)))
 
 (org-defvaralias 'org-agenda-remove-tags-when-in-prefix
   'org-agenda-remove-tags)
@@ -3705,7 +3707,9 @@ generating a new one."
 	  (while (org-activate-plain-links (point-max))
 	    (add-text-properties (match-beginning 0) (match-end 0)
 				 '(face org-link))))
-	(unless (eq org-agenda-remove-tags t)
+	(unless (or (eq org-agenda-remove-tags t)
+		    (and (listp org-agenda-remove-tags)
+			 (stringp (car org-agenda-remove-tags))))
 	  (org-agenda-align-tags))
 	(unless org-agenda-with-colors
 	  (remove-text-properties (point-min) (point-max) '(face nil)))
@@ -6529,8 +6533,13 @@ Any match of REMOVE-RE will be removed from TXT."
 			    txt)
 	  ;; Tags are in the string
 	  (if (or (eq org-agenda-remove-tags t)
+		  (and (symbolp org-agenda-remove-tags)
+		       org-prefix-has-tag)
 		  (and org-agenda-remove-tags
-		       org-prefix-has-tag))
+		       (let ((case-fold-search t))
+			 (save-match-data
+			   (string-match (regexp-opt org-agenda-remove-tags)
+					 (match-string 0 txt))))))
 	      (setq txt (replace-match "" t t txt))
 	    (setq txt (replace-match
 		       (concat (make-string (max (- 50 (length txt)) 1) ?\ )
-- 
 Bastien

Reply via email to