Re: [O] Agenda: Display projects and 3 todo subtasks
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
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
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
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
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
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
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
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/