Is there a way to make the list of recently clocked-in tasks in org-mode persistent across Emacs restarts and (more importantly) closed buffers? It's annoying having to find the previous task just because I happened to exit a file.
I made a little package org-mru-clock to solve this.
When I run
org-mru-clock-in it finds all recently-clocked-in tasks from org files and stores the top
org-history; that takes about 5 seconds, so it doesn't do anything if
org-history already has that many entries. This is nicer than saving to disk, since I have the org files version controlled, and the initial 5 second wait is acceptable.
I use it with ivy; my init.el has this:
(use-package org-mru-clock :ensure t :defer t :bind* (("<f8>" . org-mru-clock-in)) :commands (org-mru-clock-in org-mru-clock-select-recent-task) :config (setq org-mru-clock-how-many 50 ;;;;;;;;;;;;;; Also possible: #'ido-completing-read org-mru-clock-completing-read #'ivy-completing-read))
The ivy interface also happens to make it really easy to switch quickly between recent tasks:
Org-Mode also includes this feature by default. You can set
'history to save the clock entry history when closing emacs. Or set it to
t to also save the running clock when Emacs is closed. See the manual or the emacs help on
For this to work you also have to run
(org-clock-persistence-insinuate) in your init file.