[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Automatic tagging based on # of todo items as children

From: Carsten Dominik
Subject: Re: [Orgmode] Automatic tagging based on # of todo items as children
Date: Tue, 16 Feb 2010 05:53:23 +0100

Hi Marcel,

there is not simple other way, because only when making TODO statistics are the TODO children counted. You can hook into `org- after-todo-state-change-hook' with a function that moves back up to the parent and then counts children with TODO keyword.

THis is untested:

(defun my-define-prj ()
    (when (org-up-heading-safe)
      (let ((beg (point))
            (end (org-end-of-subtree t t))
        (goto-char beg)
        (goto-char (point-at-eol))
        (setq two-not-done
              (and (re-search-forward org-not-done-heading-regexp end t)
                   (re-search-forward org-not-done-heading-regexp end t)))
        (goto-char beg)
        (org-toggle-tag "prj" (if two-not-done 'on 'off))))))

(add-hook 'org-after-todo-state-change-hook 'my-define-prj)

- Carsten

On Feb 15, 2010, at 12:05 PM, address@hidden wrote:


I would like to have org-mode assist me in tagging headlines with a
'prj' tag if that headline contains more than one todo item. It does
not matter if the items are completed or not, if it has more than one
task as its children, I would like to have it tagged with 'prj'

I came up with this:

#+begin_src elisp
(defun ensure-prj-tag()
 "Ensure a header gets a prj tag"
 (org-toggle-tag "prj"
   (if (> (length (org-map-entries t "/+TODO|DONE|CANCELLED" 'tree))1)
'on 'off)) )

which sort-of works if the cursor is on the heading.

I need some help with the following:
- I would like it to be automatic and the org-todo-statistics hook
 seem candidates to attach a function to, but I also want it for
 heading which do not have a [1/N] or [%] counter. How to proceed?
- Can I do this automatically on a whole file?


Marcel van der Boom  -- http://hsdev.com/mvdb.vcf
HS-Development BV    -- http://www.hsdev.com
So! web applications -- http://make-it-so.info
Cobra build          -- http://cobra.mrblog.nl
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.

- Carsten

reply via email to

[Prev in Thread] Current Thread [Next in Thread]