Re: [O] Agenda: Display projects and 3 todo subtasks

2019-08-23 Thread Nathan Neff
I ran into another possible solution for the request of seeing the first
X TODO tasks for a project in the Agenda:

Let's say I simply run an org-tags-todo query looking for :project:

The Agenda now shows this:

Project1
Project2
Project3

Another possible solution would be to simply TAB to one of the projects, and
run org-todo-list with the restriction on the current subtree.

I'm trying to find a way to create a function to do this . . . . . . I guess
a macro-like function would work

Thanks,
--Nate


On Wed, Jul 31, 2019 at 8:59 AM Sacha Chua  wrote:

> Hmm, you're right, that project subtask snippet isn't working any more. I
> don't think I can sort that out while I'm away from my computer, so it may
> take me a few weeks until I can poke around. If anyone happens to have a
> better config, please feel free to share!
>
> On Wed., Jul. 31, 2019, 10:37 Nathan Neff,  wrote:
>
>> I forgot to mention that I have PROJECT tag as not inheritable:
>> (setq org-tags-exclude-from-inheritance (quote ("PROJECT")))
>>
>> And here's the agenda custom-command addition:
>>  ("2" "List projects with tasks" my/org-agenda-projects-and-tasks
>>  "+PROJECT"
>>  ((org-agenda-max-entries 3))
>>
>>
>>
>> On Tue, Jul 30, 2019 at 9:32 PM Nathan Neff 
>> wrote:
>>
>>> Hello all,
>>>
>>> I found this cool snippet at Sacha Chua's website: [1].
>>>
>>> It creates an agenda view with headings marked with tag "project",
>>> and for each of those headings, it displays up to 3 sub headings marked
>>> TODO.
>>>
>>> I like this idea of seeing my projects (plus a few TODO entries under
>>> each project)
>>> in the agenda is a cool idea, so I copy/pasted the snippet at [1].
>>>
>>> I created an example org file:
>>> * Project 1:PROJECT:
>>> ** todo task 1.1
>>> ** todo task 1.2
>>> ** todo task 1.3
>>> ** todo task 1.4
>>> * Project 2:PROJECT:
>>> ** todo task 2.1
>>> ** todo task 2.2
>>> ** todo task 2.3
>>> ** todo task 2.4
>>>
>>> And ran the custom agenda command on only that file.
>>>
>>> The output which is produced lists each project correctly.
>>> However the sub-tasks under each project are the *same 3 subtasks*
>>> from Project 1
>>>
>>>   foo:Project 1
>>>   foo:todo task 1.1
>>>   foo:todo task 1.2
>>>   foo:todo task 1.3
>>>   foo:Project 2
>>>   foo:todo task 1.1
>>>   foo:todo task 1.2
>>>   foo:todo task 1.3
>>>
>>> The snippet at [1] is a bit more complex than I thought would be
>>> necessary for such
>>> an agenda view.  Does someone have any snippets or suggestions for how to
>>> accomplish the idea above?  Is there something obvious that I'm missing
>>> about
>>> the setup of my test org file?
>>>
>>> Thanks,
>>> --Nate
>>>
>>> [1]
>>> https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org#display-projects-with-associated-subtasks
>>> The associated blog entry is:
>>>
>>> https://sachachua.com/blog/2013/01/emacs-org-display-projects-with-a-few-subtasks-in-the-agenda-view/
>>>
>>>
>>>
>>>


Re: [O] Agenda: Display projects and 3 todo subtasks

2019-08-09 Thread Adam Porter
Nathan Neff  writes:

> Wow - thanks Adam!
>
> Your stuff is awesome.  org-rifle is incredible.  (I just wish that
> it didn't have as many dependencies -- I guess I'm just a bit paranoid).

Thanks for the kind words.

Which dependencies concern you?  helm-org-rifle uses:

-  Helm, of course.  However it has non-Helm commands built in, so you
   don't have to actually use Helm, and merely having it installed does
   nothing.  In the future I plan to refactor to put the Helm commands
   into a separate package.

-  dash.el, which is a very widely used package.

-  s.el, which is also widely used.

-  And f.el, which is also a commonly used convenience package.

If you're concerned about package updates breaking functionality or
causing vulnerabilities, I share that concern to some extent, and that's
why I don't recommend upgrading packages en masse.  I keep installed
packages in git as part of my Emacs config, and I update individual
packages when necessary.

BTW, have you tried the package org-recent-headings?




Re: [O] Agenda: Display projects and 3 todo subtasks

2019-08-08 Thread Nathan Neff
Wow - thanks Adam!

Your stuff is awesome.  org-rifle is incredible.  (I just wish that
it didn't have as many dependencies -- I guess I'm just a bit paranoid).

Thanks,
--Nate


On Thu, Aug 8, 2019 at 10:48 AM Adam Porter  wrote:

> Hi Nathan,
>
> Well, this is an unorthodox solution using org-ql, but it seems to work.
> So, for what it's worth:
>
> #+BEGIN_SRC elisp
>   (let* ((sub-query (lambda ()
>   (save-excursion
> (save-restriction
>   (cons (org-ql--add-markers
> (org-element-headline-parser (line-end-position)))
> (-take 3 (progn
>(org-narrow-to-subtree)
>(org-ql-select nil
>  '(todo)
>  :narrow t
>  :action
> 'element-with-markers
>  (entries (-flatten-n 1 (org-ql-select buffer
>   '(and (tags "PROJECT")
> (not (todo)))
>   :action sub-query
> (org-ql-agenda--agenda nil nil :entries entries))
> #+END_SRC
>
> This produces an agenda-like view showing (I changed "todo" to "TODO" in
> the test file):
>
>   Project 1
> :PROJECT:
>   TODO task 1.1
> :PROJECT:
>   TODO task 1.2
> :PROJECT:
>   TODO task 1.3
> :PROJECT:
>   Project 2
> :PROJECT:
>   TODO task 2.1
> :PROJECT:
>   TODO task 2.2
> :PROJECT:
>   TODO task 2.3
> :PROJECT:
>
> This is a bit awkward, but it's given me an idea about running nested
> queries, so I'll see if I can make that easier.
>
>
>


Re: [O] Agenda: Display projects and 3 todo subtasks

2019-08-08 Thread Adam Porter
Hi Nathan,

Well, this is an unorthodox solution using org-ql, but it seems to work.
So, for what it's worth:

#+BEGIN_SRC elisp
  (let* ((sub-query (lambda ()
  (save-excursion
(save-restriction
  (cons (org-ql--add-markers 
(org-element-headline-parser (line-end-position)))
(-take 3 (progn
   (org-narrow-to-subtree)
   (org-ql-select nil
 '(todo)
 :narrow t
 :action 
'element-with-markers
 (entries (-flatten-n 1 (org-ql-select buffer
  '(and (tags "PROJECT")
(not (todo)))
  :action sub-query
(org-ql-agenda--agenda nil nil :entries entries))
#+END_SRC

This produces an agenda-like view showing (I changed "todo" to "TODO" in
the test file):

  Project 1:PROJECT:
  TODO task 1.1:PROJECT:
  TODO task 1.2:PROJECT:
  TODO task 1.3:PROJECT:
  Project 2:PROJECT:
  TODO task 2.1:PROJECT:
  TODO task 2.2:PROJECT:
  TODO task 2.3:PROJECT:

This is a bit awkward, but it's given me an idea about running nested
queries, so I'll see if I can make that easier.




Re: [O] Agenda: Display projects and 3 todo subtasks

2019-08-01 Thread Nathan Neff
Wow, cool to hear from the one & only Sacha!

Also, I found this GTD blog which appears to have something similar, under
the "Filtering Projects and Actions" section:
https://emacs.cafe/emacs/orgmode/gtd/2017/06/30/orgmode-gtd.html

However, this  mechanism seems to report only the first TODO action
which is tagged with "@office" and (I presume) assumes that any headline
tagged @office is a "project".

Also, after reviewing Bernt Hansen's org-mode setup, it appears that
he uses NEXT keyword to distinguish between tasks that need to be done
(TODO) and tasks that can be accomplished NEXT.  This may obviate
the need to show the first X items of any given project.

So many options  . . . . . .

Thanks,
--Nate


>
>
>
>> On Wed., Jul. 31, 2019, 10:37 Nathan Neff,  wrote:
>>
>>> I forgot to mention that I have PROJECT tag as not inheritable:
>>> (setq org-tags-exclude-from-inheritance (quote ("PROJECT")))
>>>
>>> And here's the agenda custom-command addition:
>>>  ("2" "List projects with tasks" my/org-agenda-projects-and-tasks
>>>  "+PROJECT"
>>>  ((org-agenda-max-entries 3))
>>>
>>>
>>>
>>> On Tue, Jul 30, 2019 at 9:32 PM Nathan Neff 
>>> wrote:
>>>
 Hello all,

 I found this cool snippet at Sacha Chua's website: [1].

 It creates an agenda view with headings marked with tag "project",
 and for each of those headings, it displays up to 3 sub headings marked
 TODO.

 I like this idea of seeing my projects (plus a few TODO entries under
 each project)
 in the agenda is a cool idea, so I copy/pasted the snippet at [1].

 I created an example org file:
 * Project 1:PROJECT:
 ** todo task 1.1
 ** todo task 1.2
 ** todo task 1.3
 ** todo task 1.4
 * Project 2:PROJECT:
 ** todo task 2.1
 ** todo task 2.2
 ** todo task 2.3
 ** todo task 2.4

 And ran the custom agenda command on only that file.

 The output which is produced lists each project correctly.
 However the sub-tasks under each project are the *same 3 subtasks*
 from Project 1

   foo:Project 1
   foo:todo task 1.1
   foo:todo task 1.2
   foo:todo task 1.3
   foo:Project 2
   foo:todo task 1.1
   foo:todo task 1.2
   foo:todo task 1.3

 The snippet at [1] is a bit more complex than I thought would be
 necessary for such
 an agenda view.  Does someone have any snippets or suggestions for how
 to
 accomplish the idea above?  Is there something obvious that I'm missing
 about
 the setup of my test org file?

 Thanks,
 --Nate

 [1]
 https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org#display-projects-with-associated-subtasks
 The associated blog entry is:

 https://sachachua.com/blog/2013/01/emacs-org-display-projects-with-a-few-subtasks-in-the-agenda-view/






Re: [O] Agenda: Display projects and 3 todo subtasks

2019-07-31 Thread Sacha Chua
Hmm, you're right, that project subtask snippet isn't working any more. I
don't think I can sort that out while I'm away from my computer, so it may
take me a few weeks until I can poke around. If anyone happens to have a
better config, please feel free to share!

On Wed., Jul. 31, 2019, 10:37 Nathan Neff,  wrote:

> I forgot to mention that I have PROJECT tag as not inheritable:
> (setq org-tags-exclude-from-inheritance (quote ("PROJECT")))
>
> And here's the agenda custom-command addition:
>  ("2" "List projects with tasks" my/org-agenda-projects-and-tasks
>  "+PROJECT"
>  ((org-agenda-max-entries 3))
>
>
>
> On Tue, Jul 30, 2019 at 9:32 PM Nathan Neff  wrote:
>
>> Hello all,
>>
>> I found this cool snippet at Sacha Chua's website: [1].
>>
>> It creates an agenda view with headings marked with tag "project",
>> and for each of those headings, it displays up to 3 sub headings marked
>> TODO.
>>
>> I like this idea of seeing my projects (plus a few TODO entries under
>> each project)
>> in the agenda is a cool idea, so I copy/pasted the snippet at [1].
>>
>> I created an example org file:
>> * Project 1:PROJECT:
>> ** todo task 1.1
>> ** todo task 1.2
>> ** todo task 1.3
>> ** todo task 1.4
>> * Project 2:PROJECT:
>> ** todo task 2.1
>> ** todo task 2.2
>> ** todo task 2.3
>> ** todo task 2.4
>>
>> And ran the custom agenda command on only that file.
>>
>> The output which is produced lists each project correctly.
>> However the sub-tasks under each project are the *same 3 subtasks*
>> from Project 1
>>
>>   foo:Project 1
>>   foo:todo task 1.1
>>   foo:todo task 1.2
>>   foo:todo task 1.3
>>   foo:Project 2
>>   foo:todo task 1.1
>>   foo:todo task 1.2
>>   foo:todo task 1.3
>>
>> The snippet at [1] is a bit more complex than I thought would be
>> necessary for such
>> an agenda view.  Does someone have any snippets or suggestions for how to
>> accomplish the idea above?  Is there something obvious that I'm missing
>> about
>> the setup of my test org file?
>>
>> Thanks,
>> --Nate
>>
>> [1]
>> https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org#display-projects-with-associated-subtasks
>> The associated blog entry is:
>>
>> https://sachachua.com/blog/2013/01/emacs-org-display-projects-with-a-few-subtasks-in-the-agenda-view/
>>
>>
>>
>>


Re: [O] Agenda: Display projects and 3 todo subtasks

2019-07-30 Thread Nathan Neff
I forgot to mention that I have PROJECT tag as not inheritable:
(setq org-tags-exclude-from-inheritance (quote ("PROJECT")))

And here's the agenda custom-command addition:
 ("2" "List projects with tasks" my/org-agenda-projects-and-tasks
 "+PROJECT"
 ((org-agenda-max-entries 3))



On Tue, Jul 30, 2019 at 9:32 PM Nathan Neff  wrote:

> Hello all,
>
> I found this cool snippet at Sacha Chua's website: [1].
>
> It creates an agenda view with headings marked with tag "project",
> and for each of those headings, it displays up to 3 sub headings marked
> TODO.
>
> I like this idea of seeing my projects (plus a few TODO entries under each
> project)
> in the agenda is a cool idea, so I copy/pasted the snippet at [1].
>
> I created an example org file:
> * Project 1:PROJECT:
> ** todo task 1.1
> ** todo task 1.2
> ** todo task 1.3
> ** todo task 1.4
> * Project 2:PROJECT:
> ** todo task 2.1
> ** todo task 2.2
> ** todo task 2.3
> ** todo task 2.4
>
> And ran the custom agenda command on only that file.
>
> The output which is produced lists each project correctly.
> However the sub-tasks under each project are the *same 3 subtasks*
> from Project 1
>
>   foo:Project 1
>   foo:todo task 1.1
>   foo:todo task 1.2
>   foo:todo task 1.3
>   foo:Project 2
>   foo:todo task 1.1
>   foo:todo task 1.2
>   foo:todo task 1.3
>
> The snippet at [1] is a bit more complex than I thought would be necessary
> for such
> an agenda view.  Does someone have any snippets or suggestions for how to
> accomplish the idea above?  Is there something obvious that I'm missing
> about
> the setup of my test org file?
>
> Thanks,
> --Nate
>
> [1]
> https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org#display-projects-with-associated-subtasks
> The associated blog entry is:
>
> https://sachachua.com/blog/2013/01/emacs-org-display-projects-with-a-few-subtasks-in-the-agenda-view/
>
>
>
>


[O] Agenda: Display projects and 3 todo subtasks

2019-07-30 Thread Nathan Neff
Hello all,

I found this cool snippet at Sacha Chua's website: [1].

It creates an agenda view with headings marked with tag "project",
and for each of those headings, it displays up to 3 sub headings marked
TODO.

I like this idea of seeing my projects (plus a few TODO entries under each
project)
in the agenda is a cool idea, so I copy/pasted the snippet at [1].

I created an example org file:
* Project 1:PROJECT:
** todo task 1.1
** todo task 1.2
** todo task 1.3
** todo task 1.4
* Project 2:PROJECT:
** todo task 2.1
** todo task 2.2
** todo task 2.3
** todo task 2.4

And ran the custom agenda command on only that file.

The output which is produced lists each project correctly.
However the sub-tasks under each project are the *same 3 subtasks*
from Project 1

  foo:Project 1
  foo:todo task 1.1
  foo:todo task 1.2
  foo:todo task 1.3
  foo:Project 2
  foo:todo task 1.1
  foo:todo task 1.2
  foo:todo task 1.3

The snippet at [1] is a bit more complex than I thought would be necessary
for such
an agenda view.  Does someone have any snippets or suggestions for how to
accomplish the idea above?  Is there something obvious that I'm missing
about
the setup of my test org file?

Thanks,
--Nate

[1]
https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org#display-projects-with-associated-subtasks
The associated blog entry is:
https://sachachua.com/blog/2013/01/emacs-org-display-projects-with-a-few-subtasks-in-the-agenda-view/