I'm trying to get the agenda to show a list of everything I have worked on the past week, and only that.
This is close, but it still shows the items that are scheduled, every day since their scheduled dateb:
(add-to-list 'org-agenda-custom-commands
'("w" "Weekly review" agenda ""
((org-agenda-span 8)
(org-agenda-start-day "-7d")
(org-agenda-start-with-log-mode '(state clock)))))
Using (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'todo))
does remove the scheduled items, but it also removes the started items in which I clocked and the recurring items which are to do at a future date. (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("TODO")))
inversely doesn't remove the started items in which I didn't clock.
It's possible to do exactly what I want interactively, as written in the emacs manual :
v l or v L or short l (org-agenda-log-mode) Toggle Logbook mode. […] When called with two prefix arguments C-u C-u, show only logging information, nothing else. […]
But I can't figure out how to make that happen with org-agenda-custom-commands
. I had a look in the definition of org-agenda-log-mode
and it seems that it's setting org-agenda-show-log
to 'only
, but the help about org-agenda-show-log
warns to not set it directly and indeed this doesn't end up in log mode at all:
(add-to-list 'org-agenda-custom-commands
'("w" "Weekly review" agenda ""
((org-agenda-span 8)
(org-agenda-start-day "-7d")
(org-agenda-start-with-log-mode t)
(org-agenda-show-log 'only)
(org-agenda-log-mode-items '(state clock)))))
As a chronic procrastinator, the scheduled items significantly clutter the log view. So how could I go about showing only the log?