emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Max Mikhanosha <max@openchat.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: PATCH: include in-progress/started todos into daily agenda
Date: Thu, 27 Sep 2007 03:33:40 +0200	[thread overview]
Message-ID: <8d4121efbc84e802d40d5cf498233c45@science.uva.nl> (raw)
In-Reply-To: <87sl51dud4.wl%max@openchat.com>

Hi Max, thanks for this.

Before looking deeper into it:  Have you considered a block agenda as an
alternative?  That will list the TODO matches in a separate list, but
in the *same* agenda buffer.

- Carsten

On Sep 26, 2007, at 22:50, Max Mikhanosha wrote:

> I had always used the day/weekly/mothly agenda vs the searchable
> agenda separately and sometimes missed things because they were in one
> list but not another.  For example when looking into a tags based
> agenda for :computer, I may have missed some other item that was
> scheduled for today but not tagged with computer, and via versa.
>
> The method described in the post titled "Not using GTD" post, where
> only the daily agenda is the primary agenda used solves this problem,
> but I don't like to schedule/reschedule my items all the time.
>
> So inspired by the "Not using GTD" post, proposed patch allows
> specifying a TODO type that would always be included into daily
> agenda on a current day, as if it was scheduled.
>
> So one can just mark items that need to be worked on doing the day as
> lets say "INPROGRESS" and they would stay in the daily agenda
> alongside/intermixed with the items scheduled for today until you
> close them. If you like to postpone the item, you put it as TODO
> again, and it would disappear.
>
> Proposed patch is as plain text below, feel free to rewrite/change
> as the method I've used may not have been optimal.
>
> Regards,
>   Max
>
> diff -rp -x '*.orig' -x '*.elc' -x '*~' org-5.10a.orig/org.el 
> org-5.10a/org.el
> *** org-5.10a.orig/org.el	Wed Sep 26 13:33:20 2007
> --- org-5.10a/org.el	Wed Sep 26 16:33:52 2007
> *************** When nil, only the days which actually h
> *** 2323,2328 ****
> --- 2323,2342 ----
>     :group 'org-agenda-daily/weekly
>     :type 'boolean)
>
> + (defcustom org-agenda-show-inprogress-todos nil
> +   "Non-nil means, include the TODO's of the type specified by
> + `org-inprogress-todos' into the daily agenda."
> +   :group 'org-agenda-daily/weekly
> +   :type 'boolean)
> +
> + (defcustom org-inprogress-todos "INPROGRESS"
> +   "Specifies TODO type that would be automatically included into
> + the daily agenda when `org-agenda-show-inprogress-todos' is set.
> + You can specify more then one value separating them with |, for
> + example INPROGRESS|STARTED"
> +   :group 'org-agenda-daily/weekly
> +   :type 'string)
> +
>   (defcustom org-agenda-format-date 'org-agenda-format-date-aligned
>     "Format string for displaying dates in the agenda.
>   Used by the daily/weekly agenda and by the timeline.  This should be
> *************** NDAYS defaults to `org-agenda-ndays'."
> *** 18056,18062 ****
>   		    (- sd (+ (if (< d 0) 7 0) d)))))
>   	 (day-numbers (list start))
>   	 (inhibit-redisplay (not debug-on-error))
> ! 	 s e rtn rtnall file date d start-pos end-pos todayp nd)
>       (setq org-agenda-redo-command
>   	  (list 'org-agenda-list (list 'quote include-all) start-day ndays))
>       ;; Make the list of days
> --- 18070,18077 ----
>   		    (- sd (+ (if (< d 0) 7 0) d)))))
>   	 (day-numbers (list start))
>   	 (inhibit-redisplay (not debug-on-error))
> ! 	 s e rtn rtnall file date d start-pos end-pos todayp nd
> !          args)
>       (setq org-agenda-redo-command
>   	  (list 'org-agenda-list (list 'quote include-all) start-day ndays))
>       ;; Make the list of days
> *************** NDAYS defaults to `org-agenda-ndays'."
> *** 18102,18117 ****
>   	    (setq end-pos (point))))
>         (setq files thefiles
>   	    rtnall nil)
>         (while (setq file (pop files))
>   	(catch 'nextfile
>   	  (org-check-agenda-file file)
> ! 	  (if org-agenda-show-log
> ! 	      (setq rtn (org-agenda-get-day-entries
> ! 			 file date
> ! 			 :deadline :scheduled :timestamp :sexp :closed))
> ! 	    (setq rtn (org-agenda-get-day-entries
> ! 		       file date
> ! 		       :deadline :scheduled :sexp :timestamp)))
>   	  (setq rtnall (append rtnall rtn))))
>         (if org-agenda-include-diary
>   	  (progn
> --- 18117,18132 ----
>   	    (setq end-pos (point))))
>         (setq files thefiles
>   	    rtnall nil)
> +       (setq args '(:deadline :scheduled :timestamp :sexp))
> +       (when org-agenda-show-log
> +         (push :closed args))
> +       (when org-agenda-show-inprogress-todos
> +         (push :inprogress args))
>         (while (setq file (pop files))
>   	(catch 'nextfile
>   	  (org-check-agenda-file file)
> !           (setq rtn (apply 'org-agenda-get-day-entries
> !                            file date args))
>   	  (setq rtnall (append rtnall rtn))))
>         (if org-agenda-include-diary
>   	  (progn
> *************** the documentation of `org-diary'."
> *** 18606,18611 ****
> --- 18621,18632 ----
>   	      ;; The way we repeatedly append to `results' makes it O(n^2) 
> :-(
>   	      (while (setq arg (pop args))
>   		(cond
> + 		 ((and (eq arg :inprogress)
> + 		       (equal date (calendar-current-date)))
> + 		  (let ((org-select-this-todo-keyword
> +                          org-inprogress-todos))
> +                     (setq rtn (org-agenda-get-todos))
> +                     (setq results (append results rtn))))
>   		 ((and (eq arg :todo)
>   		       (equal date (calendar-current-date)))
>   		  (setq rtn (org-agenda-get-todos))
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>

--
Carsten Dominik
Sterrenkundig Instituut "Anton Pannekoek"
Universiteit van Amsterdam
Kruislaan 403
NL-1098SJ Amsterdam
phone: +31 20 525 7477

  reply	other threads:[~2007-09-27  1:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-26 20:50 PATCH: include in-progress/started todos into daily agenda Max Mikhanosha
2007-09-27  1:33 ` Carsten Dominik [this message]
2007-09-27 14:33 ` Max Mikhanosha
2007-09-27 15:18   ` Carsten Dominik
2007-09-27 16:00     ` Max Mikhanosha
2007-09-27 20:49       ` Bastien
2007-10-09 16:09 ` Carsten Dominik
2007-10-09 19:18   ` Max Mikhanosha
2007-10-09 20:52     ` Bastien

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=8d4121efbc84e802d40d5cf498233c45@science.uva.nl \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=max@openchat.com \
    /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).