Re: [O] org-depend improvements: ID picker
Karl Voitwrites: > * Karl Voit wrote: >> * Carsten Dominik 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
[O] org-depend improvements: ID picker
* Karl Voitwrote: > * Carsten Dominik 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? > > Oh my goodness - free wishes for org-depend? Christmas is rather > early this year! ;-) > > For reference purposes: http://orgmode.org/worg/org-contrib/org-depend.html I thought about some org-depend improvements to take it to the next level. Since many Org-mode users do not know or use org-depend.el, I decided to write a blog post about it and how improvements can easy my digital life: http://karl-voit.at/2016/12/18/org-depend/ Some improvements are probably solved with a few lines of Elisp code. Unfortunately, I am very bad at coding Elisp myself and thus can't extend Emacs the way I would love to. For discussion purposes, I now append the improvements as separate mailinglist emails here as well: - 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. -- 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