diff options
Diffstat (limited to 'lisp/org-custom.el')
| -rw-r--r-- | lisp/org-custom.el | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/lisp/org-custom.el b/lisp/org-custom.el index d999a83..a6c31c3 100644 --- a/lisp/org-custom.el +++ b/lisp/org-custom.el @@ -62,8 +62,7 @@ (setq org-default-notes-file (concat org-directory "/inbox.org")) (setq org-todo-keywords - '((sequence "TODO" "PROGRESS" "VERIFY" "|" "DONE" "ABANDONED") - (sequence "IDEA(i)" "QUESTION(q)" "|" "RESOLVED"))) + '((sequence "TODO" "PROGRESS" "|" "DONE"))) (setq org-return-follows-link t) @@ -159,5 +158,24 @@ (setq org-log-repeat nil) +(defun mk/org-clock-active-p () + "Return non-nil if a clock is currently running." + (and (boundp 'org-clock-current-task) + org-clock-current-task)) + +(defun mk/org-auto-clock-based-on-state () + "Automatically clock in/out based on TODO state changes." + (when (derived-mode-p 'org-mode) + (pcase org-state + ("PROGRESS" + (unless (mk/org-clock-active-p) + (org-clock-in))) + ("DONE" + (when (mk/org-clock-active-p) + (org-clock-out)))))) + +(add-hook 'org-after-todo-state-change-hook #'mk/org-auto-clock-based-on-state) +(setq org-clock-history-length 0) + (provide 'org-custom) ;;; org-custom.el ends here |
