A searching tool for Org-mode, including custom query languages, commands, saved searches and agenda-like views, etc.
Find a file
2018-05-10 14:30:29 -05:00
notes.org Add stuff 2018-05-10 13:39:28 -05:00
org-agenda-ng.el Fix deadline/scheduled warning days, and improve relative date formatting 2018-05-10 14:30:29 -05:00
README.org Add stuff 2018-05-10 13:39:28 -05:00
screenshot.png More 2018-01-03 10:35:19 -06:00

This is rudimentary, experimental, proof-of-concept alternative code for generating Org agendas. It doesn't support nearly as many features as org-agenda.el does, but it might be useful in some way. It uses some existing code from org-agenda.el and tries to be compatible with parts of it, like org-agenda-finalize-entries and org-agenda-finalize.

Here's an example of generating a kind of agenda view for today (note that the grouping is provided by org-super-agenda, not this code:

  (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org"
    (and (or (date :date '= (org-today))
             (date :deadline '<= (+ org-deadline-warning-days (org-today)))
             (date :scheduled '<= (org-today)))
         (not (apply #'todo org-done-keywords-for-agenda))))

/jiri/org-ql/media/commit/7a1e22da505ea4c182317cbff3b718527f91f394/screenshot.png

Here are some other examples:

  (org-agenda-ng org-agenda-files
    (and (todo "TODO" "SOMEDAY")
         (tags "computer" "Emacs")
         (category "main")))

  (org-agenda-ng org-agenda-files
    (habit))

  (org-agenda-ng "~/org/main.org"
    (or (habit)
        (date :deadline '<= (org-today))
        (date :scheduled '<= (org-today))
        (and (todo "DONE" "CANCELLED")
             (date :closed '= (org-today)))))

  (org-agenda-ng "~/org/main.org"
    (or (habit)
        (and (or (date :date '= (org-today))
                 (date :deadline '<= (+ org-deadline-warning-days (org-today)))
                 (date :scheduled '<= (org-today)))
             (not (apply #'todo org-done-keywords-for-agenda)))
        (and (todo "DONE" "CANCELLED")
             (date :closed '= (org-today)))))