From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Belohrad Subject: Re: do not display certain TAGs in agenda Date: Tue, 28 Jan 2014 23:09:18 +0100 Message-ID: <878utz21yp.fsf@pcbe13433.cern.ch> References: <871tzxm5xs.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8GqZ-0007CO-5I for emacs-orgmode@gnu.org; Tue, 28 Jan 2014 17:09:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8GqU-000093-OB for emacs-orgmode@gnu.org; Tue, 28 Jan 2014 17:09:31 -0500 In-Reply-To: <871tzxm5xs.fsf@bzg.ath.cx> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bastien Cc: mailing-list-org-mode fantastic Bastien. thanks, it works .d. Bastien writes: > Hi David, > > David Belohrad 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