emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Adam Porter <adam@alphapapa.net>
To: emacs-orgmode@gnu.org
Subject: ANN: org-super-agenda
Date: Sun, 23 Jul 2017 17:49:00 -0500	[thread overview]
Message-ID: <87o9salqg3.fsf@alphapapa.net> (raw)

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

             reply	other threads:[~2017-07-23 22:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-23 22:49 Adam Porter [this message]
2017-07-24  3:11 ` ANN: org-super-agenda Adam Porter
2017-07-29 19:47 ` Adam Porter
2017-08-01  6:32 ` Adam Porter
     [not found] <bef0ca0ddb1848229ffa212f987e37e6@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-07-24 11:21 ` 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o9salqg3.fsf@alphapapa.net \
    --to=adam@alphapapa.net \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).