Re: [O] org-depend improvements: ID picker

2016-12-18 Thread Eric Abrahamsen
Karl Voit  writes:

> * 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

2016-12-18 Thread Karl Voit
* 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?
>
> 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