emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* ANN: org-super-agenda
@ 2017-07-23 22:49 Adam Porter
  2017-07-24  3:11 ` Adam Porter
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Adam Porter @ 2017-07-23 22:49 UTC (permalink / raw)
  To: emacs-orgmode

Hi friends,

I put together another little tool I've been thinking about for a while.
I'm calling it org-super-agenda at the moment, but org-divided-agenda
might be more descriptive; feedback on the name is welcome.

Before I forget and have to have Grant cover for me, you can find it
here: https://github.com/alphapapa/org-super-agenda

This is a prototype for a “supercharged” Org daily/weekly agenda. The
idea is to divide items into sections, rather than having them all in
one big list.

Now you can sort-of do this already with custom agenda commands, but
when you do that, you lose the daily/weekly aspect of the agenda: items
are no longer shown based on deadline/scheduled timestamps, but are
shown no-matter-what.

So this org-super-agenda command essentially copies the org-agenda-list
command, but right before it inserts the agenda items, it runs them
through a set of user-defined filters that separate them into
sections. Then the sections are inserted into the agenda buffer, and any
remaining items are inserted at the end.

The end result is your standard daily/weekly agenda, but arranged into
sections defined by you. You might put items with certain tags in one
section, habits in another section, items with certain todo keywords in
another, and items with certain priorities in another. The possibilities
are only limited by the filter functions (which you can easily add to,
and more will be added here).

The org-super-agenda command works as a custom agenda command, so you
can add it to your org-agenda-custom-commands list. You can also test it
quickly like this:

#+BEGIN_SRC elisp
((org-agenda-custom-commands
       (list (quote ("u" "SUPER Agenda"
                     org-super-agenda ""
                     ((super-filters
                       '((osa/separate-by-any-tags ("bills"))
                         osa/separate-by-habits
                         (osa/separate-by-todo-keywords "WAITING")
                         (osa/separate-by-todo-keywords ("SOMEDAY" "TO-READ" "CHECK")
                         (osa/separate-by-priorities "A")
                         (osa/separate-by-priorities "B")
                         (osa/separate-by-priorities "C")))
                      (org-agenda-span 'day)))))))
  (org-agenda nil "u"))
#+END_SRC

Here's a screenshot:
https://github.com/alphapapa/org-super-agenda/raw/master/screenshot.png

I consider this a functional prototype or basic first-version, but it's
very usable right now.  Feedback is welcome, and I plan to continue
making improvements before eventually submitting it to MELPA.

Thanks,
Adam

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-08-01  6:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bef0ca0ddb1848229ffa212f987e37e6@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-07-24 11:21 ` ANN: org-super-agenda Eric S Fraga
2017-07-27  7:55 ` Eric S Fraga
2017-07-29  1:00   ` Adam Porter
2017-07-29  6:03     ` Adam Porter
     [not found]   ` <fbe13af252304f5f9a39fab52999d40c@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-07-29 10:40     ` Eric S Fraga
2017-07-29 19:41       ` Adam Porter
2017-07-29 23:11         ` Adam Porter
     [not found]         ` <910e863b18d740e492dd1681840ec9d8@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-07-30  8:20           ` Eric S Fraga
     [not found]       ` <4a14bcc89c8847aba15bb3f18e5af494@DB5PR01MB1895.eurprd01.prod.exchangelabs.com>
2017-07-30  8:15         ` Eric S Fraga
2017-07-23 22:49 Adam Porter
2017-07-24  3:11 ` Adam Porter
2017-07-29 19:47 ` Adam Porter
2017-08-01  6:32 ` Adam Porter

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).