Hi! Marcin Borkowski <mb...@mbork.pl> 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