I recently found org-agenda-clockreport
. Because I keep all my .org
files in a single directory (indexed by deft
), including files with notes and no tasks, I get a table with tens of rows, with only one or two that have any time logged. Is there any way to drop any rows in the clockreport that have zero time?
1 Answer
I found the answer by searching for variables with "agenda" and "clock" and "report" using Helm.
The variable org-agenda-clockreport-parameter-plist
can be modified with the following
key/value pairs:
:stepskip0 t
:fileskip0 t
I modified the variable using Emacs' customize screen, but then I moved it from custom.el to my own init.el, and this works for me:
(setq org-agenda-clockreport-parameter-plist '(:stepskip0 t :link t :maxlevel 2 :fileskip0 t))
The other two keys (:link
and :maxlevel
) were already set in org-agenda-clockreport-parameter-plist
. You may wish to modify only the keys :setpskip0
and :fileskip0
but I don't know how to do that in Emacs lisp (yet) :)
If you have clock reports outside of the agenda, the same parameters work. For example:
#+BEGIN: clocktable :scope agenda :maxlevel 3 :block today :stepskip0 t :fileskip0 t :link t
#+END
Press Ctrl-C Ctrl-C on the above code block to get a clock report outside of the agenda.
See section 8.4.2 "The Clock Table" in Org-mode's info section: https://www.gnu.org/software/emacs/manual/html_node/org/The-clock-table.html
:stepskip0’
When non-‘nil’, do not show steps that have zero time.
:fileskip0’
When non-‘nil’, do not show table sections from files which did not
contribute.
Thanks, --Nate