Excelで作業時間を記録するのがめんどくさくなったので、 org-modeで作業時間を記録するようにしてみました。
org-clockで計時していると、CLOCK: [2015-00-01 Thu 09:27]--[2015-00-21 Thu 10:27] => 1:00
のような行が大量発生します。
古いorg-modeでは:CLOCKS:
というブロックに囲まれて、TABキーでたためたのですがデフォルトの動作が変更されたようです。
下記設定で:LOGBOOK:
というグループにまとめてくれるようになりました。
(setq org-clock-into-drawer t)
おまけ:org-clockとは
- 詳しい説明。ほぼそのまま使える
- 翻訳プロジェクトの日本語ドキュメント
↑文字コードが指定されていなくて化けましたが、UTF-8です。 あと、ページ内リンクが同じく文字コードの違いから正しく動いていないです。
- 英語の本家ドキュメント
- clock-in忘れを通知する
「org-clock-in」タグの記事一覧 | るびきち「日刊Emacs」
- clock-in/clock-outのフックでexe実行してタスクを常に表示する
Windows向けなので、フックの内容をいじればMacの通知センターに表示させられるな。 あとで設定する。
;; task viewer (defvar my-org-clock-in-shell-buffer-name "*ORG-CLOCK-IN-BUFFER*") (add-hook 'org-clock-in-hook '(lambda () (interactive) (async-shell-command (concat "taskviewer" " \"" (format-time-string "[%H:%M] " org-clock-start-time) org-clock-heading "\" " (number-to-string (- (display-pixel-height) 160)) " " (number-to-string (- (display-pixel-width) 420))) (get-buffer-create my-org-clock-in-shell-buffer-name)) (delete-other-windows))) (add-hook 'org-clock-out-hook '(lambda () (interactive) (shell-command "taskkill /im:taskviewer.exe") (let ((clock-process-buffer (get-buffer my-org-clock-in-shell-buffer-name))) (while (process-live-p (get-buffer-process clock-process-buffer)) (sleep-for 1)) (kill-buffer clock-process-buffer))))