emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Marcin Borkowski <mbork@wmi.amu.edu.pl>
To: Org-mode mailing list <emacs-orgmode@gnu.org>
Subject: Custom todo-like thing in agenda?
Date: Sat, 16 Aug 2014 04:15:25 +0200	[thread overview]
Message-ID: <20140816041525.540bbb3a@aga-netbook> (raw)

Hi all,

I was wondering whether something like this is possible.  (Well, I'm
pretty sure it is, what I don't know whether I'm competent enough to
pull it off...)  I'd like to be able to create a special agenda view
(or block in a "normal" agenda, this shouldn't make much difference,
since I may use block agenda instead of the usual C-c a a), in which
the lines would behave much like TODOs, with the exception that their
source would not be an Org file, but something else.  In my case, it
would be a web todo-like service, with the possibility of extracting
info (like the deadline and such) using some command-line curl
invocation.  Then, I could (rather easily, I guess) write some Elisp
to parse this info, and (here the hard part - at least for me -
begins) somehow insert it in the agenda buffer.

Of course, I could also just generate an "intermediate", temporary org
file, using curl -> parsing -> buffer -> save and include it in the
agenda.  This would most probably speed up the process of generating
the agenda (which is a plus).  However, I'd like another
functionality: I'd like to have the `t' command to send some
information to the web service I'm using.

Where should I start?  Is there anything even remotely similar to what
I'm trying to achieve so that I could analyze its source, for
instance?  Is the "intermediate org file" idea a reasonable one (the
more I think about it, the more I like it)?

If I decide to go the "intermediate-file" way, where could I hook into
the agenda generation, so that it is e.g. created only once each day
(to save time) or on explicit demand (this part is easy, I guess -
just some command to create it and a key in org-agenda-mode-map...)?
Should I advise org-agenda or is there some hook run *before* agenda
generation?  Should I advise org-todo?  (Just looking at its source
made my head spin...)  Should I use some hooks for the todo behavior I
described?  (I found org-trigger-hook and
org-after-todo-state-change-hook; frankly, I don't really get why both
are there...

Sorry for being a bit vague - this is still a concept in a preliminary
stage, and it's 4:07 am here;)...

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University

             reply	other threads:[~2014-08-16  2:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-16  2:15 Marcin Borkowski [this message]
2014-08-18 11:48 ` Custom todo-like thing in agenda? Sebastien Vauban
2014-08-18 11:56   ` Michael Albinus
2014-08-19  8:10 ` Joe Corneli

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=20140816041525.540bbb3a@aga-netbook \
    --to=mbork@wmi.amu.edu.pl \
    --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).