emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: Feature request: skip blocked lines in agenda view gri


From: Carsten Dominik
Subject: Re: [Orgmode] Re: Feature request: skip blocked lines in agenda view grid
Date: Tue, 21 Oct 2008 23:43:28 +0200

Hi Micheal,

this looks good, thanks.

I have added this code to Worg, and will consider to move it onto Org.

- Carsten

On Oct 21, 2008, at 3:21 PM, Michael Ekstrand wrote:

Carsten Dominik <address@hidden> writes:
you have just catapulted yourself onto the list of possible successors
when I will quit as maintainer of Org...  :-)

Good work - I don't think it works completely yet, though.

Thanks :)

When I have

* new one
 <2008-10-21 Tue 08:01-11:55>

* new two
 <2008-10-21 Tue 13:59-14:55>

Then I get this agenda:

Day-agenda (W43):
Tuesday    21 October 2008
              8:00......  ----------------
 past:        8:01-11:55  new one
             11:00......  ----------------
             12:00......  ----------------
             13:00......  ----------------
 past:       13:59-14:55  new two
             15:00......  ----------------
             16:00......  ----------------
             17:00......  ----------------
             18:00......  ----------------
             20:00......  ----------------

The line at 11:00 should be gone as well.

I think I've found the problem. I was computing the end time by adding
minutes to start time, which doesn't quite work for obvious reasons.
I've fixed it in the following code.

(defadvice org-agenda-add-time-grid-maybe (around mde-org-agenda- grid-tweakify
                                                 (list ndays todayp))
 (if (member 'remove-match (car org-agenda-time-grid))
     (flet ((extract-window
             (line)
             (let ((start (get-text-property 1 'time-of-day line))
                   (dur (get-text-property 1 'duration line)))
               (cond
                ((and start dur) (cons start dur))
                (start start)
                (t nil))))
            (duration-add
             (time duration)
             (+ time (* 100 (/ duration 60)) (% duration 60))))
       (let* ((windows (delq nil (mapcar 'extract-window list)))
              (org-agenda-time-grid
               (list (car org-agenda-time-grid)
                     (cadr org-agenda-time-grid)
                     (remove-if
                      (lambda (time)
                        (find-if (lambda (w)
                                   (if (numberp w)
                                       (equal w time)
                                     (and (>= time (car w))
                                          (< time (duration-add
(car w) (cdr w))))))
                                 windows))
                      (caddr org-agenda-time-grid)))))
         ad-do-it))
   ad-do-it))
(ad-activate 'org-agenda-add-time-grid-maybe)

- Michael

--
mouse, n: A device for pointing at the xterm in which you want to type.
Confused by the strange files?  I cryptographically sign my messages.
For more information see <http://www.elehack.net/resources/gpg>.
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





reply via email to

[Prev in Thread] Current Thread [Next in Thread]