From mboxrd@z Thu Jan 1 00:00:00 1970 From: Karl Voit Subject: Re: a general ID picker Date: Tue, 20 Dec 2016 21:01:01 +0100 Message-ID: <2016-12-20T20-58-25@devnull.Karl-Voit.at> References: <2016-08-25T14-36-57@devnull.Karl-Voit.at> <877fb429j4.fsf@saiph.selenimh> <2016-08-25T17-05-15@devnull.Karl-Voit.at> <87mvg2t8g0.fsf@artlab.createcnix.lan> <2016-12-12T12-38-45@devnull.Karl-Voit.at> <2016-12-12T15-59-38@devnull.Karl-Voit.at> <2016-12-18T13-03-17@devnull.Karl-Voit.at> <87r355160r.fsf@ericabrahamsen.net> Reply-To: Karl Voit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44993) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cJQf4-0000V1-Dv for emacs-orgmode@gnu.org; Tue, 20 Dec 2016 15:05:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cJQf0-0001z6-CJ for emacs-orgmode@gnu.org; Tue, 20 Dec 2016 15:05:22 -0500 Received: from [195.159.176.226] (port=60524 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cJQf0-0001xn-54 for emacs-orgmode@gnu.org; Tue, 20 Dec 2016 15:05:18 -0500 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1cJQep-00055s-5w for emacs-orgmode@gnu.org; Tue, 20 Dec 2016 21:05:07 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org * Eric Abrahamsen wrote: > Karl Voit 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