Hi! I'd like to get a screenshot (PNG) of an agenda of mine by following snippet:
(defun my-export-month-agenda-to-png-via-screenshot() (interactive) (org-agenda nil "n") ; generates agenda "n" (one month without todos) (if (my-buffer-exists "*Org Agenda*") (switch-to-buffer "*Org Agenda*") (org-agenda-list) ) (message "Waiting for Screenshot ...") (sleep-for 1) (message "Say cheese ...") (setq myoutput (shell-command-to-string "/usr/bin/import -window root /home/vk/share/agenda.png")) (message (concat "Screenshot done (" myoutput ")")) ) The code works somewhat: the corresponding agenda is generated, a screenshot (via imagemagick) is created. But: on the screenshot, I see the buffer from where I invoked my-export-month-agenda-to-png-via-screenshot in the first place and in the minibuffer I can read "Say cheese ...". Therefore it seems to be the case that basically the function changes to the newly created Agenda buffer *after* the screenshot and probably after the end of the function. As you can see, I tried to change to the agenda buffer «manually» via switch-to-buffer with no change of the result. I even tried to get the result I am wishing for by adding a one-second sleep phase which should cancel out any buffer-switch-performance-delay. Can you help me, what is going on here? -- mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode: > get Memacs from https://github.com/novoid/Memacs < https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github