[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] Task time limit
From: |
Sebastjan Trepca |
Subject: |
Re: [Orgmode] Task time limit |
Date: |
Sun, 10 Feb 2008 20:18:05 +0100 |
> This is just 84 days old :)
Hehe, I guess I have a long queue ;)
Anyway, this new version works! :)
Thank you very much, this will be very useful. Btw, why not integrate
it with org-mode?
Sebastjan
> > Copied into my .emacs file, changed the time to 1 minute, clocked in a
> > task, waited a minute and nothing happened :)
>
> Are you activating appointments with (appt-activate) somewhere?
> What is the output of M-x appt-delete RET ?
>
> Maybe you can try with a more realistic value of 20 minutes and check if
> the appt appears somewhere (with-x appt-delete RET)
>
> BTW, here is the last version I use, letting you to delete
> "appointments" if you clock out (only in the org-mode buffer):
>
> ;; Make sure you have a sensible value for `appt-message-warning-time'
> (defvar bzg-org-clock-in-appt-delay 100
> "Number of minutes for setting an appointment by clocking-in")
>
> (defun bzg-org-clock-in-add-appt (&optional n)
> "Add an appointment for the Org entry at point in N minutes."
> (interactive)
> (save-excursion
> (org-back-to-heading t)
> (looking-at org-complex-heading-regexp)
> (let* ((msg (match-string-no-properties 4))
> (ct-time (decode-time))
> (appt-min (+ (cadr ct-time)
> (or n bzg-org-clock-in-appt-delay)))
> (appt-time ; define the time for the appointment
> (progn (setf (cadr ct-time) appt-min) ct-time)))
> (appt-add (format-time-string
> "%H:%M" (apply 'encode-time appt-time)) msg)
> (if (interactive-p) (message "New appointment for %s" msg)))))
>
> (defadvice org-clock-in (after org-clock-in-add-appt activate)
> "Add an appointment when clocking a task in."
> (bzg-org-clock-in-add-appt))
>
> (defun bzg-org-clock-out-delete-appt nil
> "When clocking out, delete any associated appointment."
> (interactive)
> (save-excursion
> (org-back-to-heading t)
> (looking-at org-complex-heading-regexp)
> (let* ((msg (match-string-no-properties 4)))
> (setq appt-time-msg-list
> (delete nil
> (mapcar
> (lambda (appt)
> (if (not (string-match (regexp-quote msg)
> (cadr appt))) appt))
> appt-time-msg-list)))
> (appt-check))))
>
> (defadvice org-clock-out (before org-clock-out-delete-appt activate)
> "Delete an appointment when clocking a task out."
> (bzg-org-clock-out-delete-appt))
>
> --
> Bastien
>
--
Sebastjan