fantastic Bastien. thanks, it works .d. Bastien <b...@gnu.org> writes:
> 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