* Eric Abrahamsen <e...@ericabrahamsen.net> wrote: > Karl Voit <devn...@karl-voit.at> writes: > >> 1 Improvement: ID Picker >> ======================== >> >> First of all, I'd like to see some kind of ID picker when defining >> `:TRIGGER:' and `:BLOCKER:' dependencies. >> >> This should work like this: after setting up the task in headings and >> giving them IDs, I'd like to invoke a "I want to define a >> dependency"-command. It first asks me what property I want to set: >> `:TRIGGER:' or `:BLOCKER:'. >> >> Then I get asked to select any ID which could be found within the same >> sub-hierarchy (or even in all files?). >> >> After being asked for the KEYWORD to be set for `:TRIGGER:' >> dependencies (if applicable), the property is added to the current >> heading accordingly. >> >> This would drastically improve creating dependency definitions and >> prevent typing errors in the first place. > > I like this a lot, for more uses than just org-depend, and it would be > very easy to implement. We've got `org-property-set-functions-alist' for > using special functions to read the values of special properties, and > we've got `org-id-get-with-outline-(drilling|path-completion), so it's > pretty much already done! > > (defun my-trigger-property-prompt () > (when (derived-mode-p 'org-mode) > (let ((id (org-id-get-with-outline-drilling)) > (kw (org-completing-read "Keyword: " org-todo-keywords-1))) > (do-something-with-id-and-kw)))) > > (push '("TRIGGER" . my-trigger-property-prompt) > org-property-set-functions-alist) > > I don't actually know how the TRIGGER property is meant to be formatted > (and I didn't really test the above), but something very near to the > above should do what you want.
Well, I am afraid that I am totally lost when it comes to "pretty much already done". The great Professor Kitchin helped me with a sophisticated function and sent me the "almost finished" code and I failed at making it run :-( However, I do tend to think that the ID picker would be of general interest and I'd like to see it in the global Org-mode featureset for multiple purposes, not only defining org-depend dependencies. -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github