Russell Adams writes: > On Thu, Nov 04, 2021 at 12:16:19PM +0800, stardiviner wrote: >> How to use elisp code to generate an org-agenda view for clocked tasks and >> logs etc which are sorted by timestamps? I want to view my daily done tasks >> and attach them as part of diary (maybe use org source block elisp code to >> generate output?) >> >> So how to setup `org-agenda-custom-commands` to archive this purpose? > > I routinely export my agenda to HTML with logbook mode enabled and > inactive timestamps. This shows a complete timeline of my actions. I > save timestamps on changing TODO to DONE, use active timestamps for > appointments, and I constantly add inactive timestamps while taking > notes. I use this to justify billing to clients. > > I open the agenda, v m to make a monthly view, L for logbook, ] to > enable inactive timestamps, and then C-x C-w to save. You may be able > to just use elisp to trigger these actions. > > I don't do it often enough to automate it. I love being able to > flatten my tree of notes into a timeline this way. > > ------------------------------------------------------------------ > Russell Adams RLAdams@AdamsInfoServ.com > > PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ > > Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 Russell, Thanks for your hint. I have a prototype code now, but still have problem. #+begin_src emacs-lisp (add-to-list 'org-agenda-custom-commands '("c" "Tody [c]locked tasks." ((agenda "" ((org-agenda-ndays 1) (org-agenda-span-1) (org-agenda-use-time-grid t) (org-agenda-include-diary nil) (org-agenda-show-log (quote clockcheck)) (org-agenda-clockreport t)))))) #+end_src #+begin_src emacs-lisp (let* ((org-agenda-sticky t) ;; FIXME how to run it in background instead of switch to agenda buffer. (_ (org-agenda nil "c")) (origin-buffer (current-buffer)) (origin-buffer-point (point)) (agenda-buffer (with-current-buffer "*Org Agenda(c)*" (buffer-substring (point-min) (point-max))))) (switch-to-buffer origin-buffer) (with-current-buffer origin-buffer (goto-char origin-buffer-point) (insert agenda-buffer))) #+end_src In the source code comment "FIXME" org-agenda always in frontend and popup buffer. I can't generate org-agenda in background then get the buffer content. Does anybody knows some tricky method for my code?