Emacs org-modeの org-clocking機能は、 とても便利なタイムトラッキングツールで気に入っている.
しかし、よく時間をはかるのを忘れる。なんとかできないかと考えたお話.
時間をはかっていないとgntpでデスクトップ通知
時間計測中かどうかは、org-cloking-pという関数で分かる. この真偽を5秒ごとに監視して、時間計測をしていなかったらデスクトップ 通知をウザったく出すことにした.
EmacsでGrowlデスクトップ通知をするには、以下のライブラリが使える.
以下のように設定を書いた. What are you doing??
(defun org-clocking-alart ()
(unless (org-clocking-p)
(gntp-notify 'alert "What are you doing!!"
"You should start clocking ('・_・`)"
"localhost")))
(run-at-time t 5 'org-clocking-alart)
これはウザい….('・_・`)
clock-in / out でも通知
ついでに、clockin,out時にも通知がでるようにした. これはいい.
(add-hook 'org-clock-in-hook
(lambda ()
(gntp-notify 'alert "Clock In"
"Happy Hacking! (^o^)/"
"localhost")))
(add-hook 'org-clock-out-hook
(lambda ()
(gntp-notify 'alert "Clock Out"
"Good Job!"
"localhost")))
clockin で 時間見積り
ついでについでに、clock-inするときに、時間見積りを必ずするようにした.
(add-hook 'org-clock-in-prepare-hook
'my/org-mode-ask-effort)
(defun my/org-mode-ask-effort ()
"Ask for an effort estimate when clocking in."
(unless (org-entry-get (point) "Effort")
(let ((effort
(completing-read
"Effort: "
(org-entry-get-multivalued-property (point) "Effort"))))
(unless (equal effort "")
(org-set-property "Effort" effort)))))
以上、Happy Hacking!!