Karl Voit <devn...@karl-voit.at> writes: > * Karl Voit <devn...@karl-voit.at> wrote: >> * Carsten Dominik <domi...@uva.nl> wrote: >> >>> Since ord-depend was only proof of concept, we could also think a bit more >>> broadly about what it should be able to do. Is there specific >>> functionality it also should support, besides the TRIGGER/BLOCKER functions >>> it has right now?
[...] > 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. Eric