[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] How to launch an agenda view programmatically?
From: |
Marco Wahl |
Subject: |
Re: [O] How to launch an agenda view programmatically? |
Date: |
Wed, 19 Jul 2017 20:10:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
Hi!
Marcin Borkowski <address@hidden> writes:
> Hi all,
>
> I have this in my init.el:
>
> (defun mbork/org-agenda-skip-if-parent-done-or-noagenda ()
> "Return t if any of the parents of the current entry is a DONE
> item, or there is a :noagenda: or :project: tag."
> (save-excursion
> (catch 'done
> (when (or (member "noagenda" (org-get-tags-at))
> (member "project" (org-get-tags-at)))
> (throw 'done
> (plist-get (cadr (org-element-context)) :contents-end)))
> (while (org-up-heading-safe)
> (if (or (org-entry-is-done-p))
> (throw 'done
> (plist-get (cadr (org-element-context)) :contents-end)))))))
>
> (setq org-agenda-custom-commands
> '(("n"
> "Agenda, tasks, projects"
> ((agenda "")
> (alltodo "" ((org-agenda-skip-function
> #'mbork/org-agenda-skip-if-parent-done-or-noagenda)))
> (tags "+project-TODO=\"DONE\"")))))
>
> Now instead of pressing C-c a n, I want to be able to launch my custom
> agenda command from Lisp. How do I do that?
Isn't this just (org-agenda nil "n")?
Best regards
Marco