I'm trying to create an org-capture template that creates a task and (important part) automatically adds a parent's property to this new task. I'm comfortable creating new capture templates--I'm just unsure of the latter part.

If it matters I'm trying to "inherit" the CATEGORY property to my new tasks.

Also, I prefer not to use property inheritance if I can help it. The documentation is very clear that this can adversely affect performance.

  • 1
    The CATEGORY property (and a few others) is always inherited. – erikstokes Jun 18 '15 at 3:03
  • 1
    @erikstokes, going off of an excerpt from the Org Mode manual it was my impression that the behavior you described only occurs while in org-agenda mode. I'd like to physically assign the parent CATEGORY to new child tasks (preferably through org-capture). I'm ignorant to possible functions that can read parent properties, which is what I believe I need in this case. – kgo Jun 18 '15 at 11:49
  • The usual way to see the category is with org-get-category which does inheritance. You could also use org-entry-get. However putting these into a capture template in the obvious way doesn't seem to work. – erikstokes Jun 18 '15 at 23:17

Here's how you can get the properties from the "parent" in a tree. Does this help you with what you're trying to achieve?

* foo  
  :CATEGORY: awesome
** bar 
Run commands like these
#+BEGIN_SRC emacs-lisp
(org-set-property "CATEGORY"
          (save-excursion (org-up-heading-safe)
                  (org-entry-get (point) "CATEGORY")))
*** baz 
  • This looks like it will do exactly what I need it to. I'll test it soon and get back. Thanks for your help! – kgo Jun 19 '15 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.