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)))))
(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
'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?