From a62751a6a54a214d9582937c7d155f1d321cd5c4 Mon Sep 17 00:00:00 2001 From: Bastien Date: Sun, 9 Feb 2020 11:17:42 +0100 Subject: [PATCH] Add `org-clock-toggle-auto-clockout' * doc/org-manual.org: Document the new command. * lisp/org-clock.el (org-clock-toggle-auto-clockout): New command. --- doc/org-manual.org | 3 +++ lisp/org-clock.el | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/doc/org-manual.org b/doc/org-manual.org index 985c9d4f6..f2784d4bd 100644 --- a/doc/org-manual.org +++ b/doc/org-manual.org @@ -6901,6 +6901,9 @@ set ~org-clock-auto-clockout-timer~ to a number of seconds and add When the clock is running and Emacs is idle for more than this number of seconds, the clock will be clocked out automatically. +Use =M-x org-clock-toggle-auto-clockout RET= to temporarily turn this +on or off. + ** Effort Estimates :PROPERTIES: :DESCRIPTION: Planning work effort in advance. diff --git a/lisp/org-clock.el b/lisp/org-clock.el index b648ca289..75027e601 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -1421,6 +1421,15 @@ is present in the user configuration." (run-with-idle-timer org-clock-auto-clockout-timer nil #'org-clock-out))) +;;;###autoload +(defun org-clock-toggle-auto-clockout () + (interactive) + (if (memq 'org-clock-auto-clockout org-clock-in-hook) + (progn (remove-hook 'org-clock-in-hook #'org-clock-auto-clockout) + (message "Auto clock-out after idle time turned off")) + (add-hook 'org-clock-in-hook #'org-clock-auto-clockout t) + (message "Auto clock-out after idle time turned on"))) + ;;;###autoload (defun org-clock-in-last (&optional arg) "Clock in the last closed clocked item.