anyone? kinda stuck here :) thx! z On Thu, Aug 25, 2016 at 10:32 AM, Xebar Saram wrote: > Hi again all > > so i have a related question so ill continue in this thread. i have been > using this command succesfully in the last few weeks > > (defun z/export-to-ics () > (interactive) > (rename-file (org-icalendar-export-to-ics) > "/home/zeltak/org/files/export/kcal.ics") > (message "exported to ics")) > > > this forces me to first open the file i want (meetings.org) and then > launch the above command. is there a way to auto make the above function to > auto export meeting.org each time without opening it first? > > thx > > Z > > On Wed, Jul 13, 2016 at 6:27 PM, Philip Hudson > wrote: > >> You have _two_ concerns here. First is what to do when you save >> "meetings.org", second is what to do every half hour. Your code >> handles both of them, essentially correctly, but in the wrong place. >> >> On 13 July 2016 at 09:41, Xebar Saram wrote: >> > Thx >> > >> > i do have this now >> > >> > (defun z/save-meeting-to-ics () >> > "If the current file is in '~/.dotfiles', the code blocks are >> tangled" >> > (when (equal (buffer-file-name) >> > (expand-file-name "/home/zeltak/org/files/agenda/ >> meetings.org")) >> >> This means the code will only execute if the current buffer is >> "meetings.org" when it executes. That _is_ what you want when you save >> meetings.org, but it _is not_ what you want when the timer executes. >> >> Break out the body of the `when' form into its own function, and call >> that function from the timer, instead of `z/save-meeting-to-ics'. >> >> > (rename-file (org-icalendar-export-to-ics) >> > "/home/zeltak/org/files/export/kcal.ics") >> > (message "exported to ics"))) >> > >> > ;;run every 30 minutes >> > >> > (run-with-timer 0 (* 30 60) 'z/save-meeting-to-ics) >> > ;;(run-with-idle-timer 600 t #'org-agenda-redo) ;; to rebuild it every >> 600 >> > second >> > ;; (add-hook 'after-save-hook #'z/save-meeting-to-ics) >> > >> > yet i cant get the ics file to be created niether when i save the >> > meeting.org file >> >> For this, you need to add `z/save-meeting-to-ics' to the Emacs global >> variable `after-save-hook' using function `add-hook'. >> >> > nor every 600 seconds. >> >> You mean 1800 seconds, I think. >> >> > what am i missing here? >> > >> > thx >> > >> > Z >> > >> > On Sun, Jun 26, 2016 at 9:49 PM, Philip Hudson >> > wrote: >> >> >> >> On 26 June 2016 at 16:38, Xebar Saram wrote: >> >> > Hi all >> >> > >> >> > so i have pathetic coding skill but managed somehow to come up with >> this >> >> > >> >> > (defun z/save-meeting-to-ics () >> >> > "If the current file is in '~/.dotfiles', the code blocks are >> >> > tangled" >> >> > (when (equal (buffer-file-name) >> >> > (expand-file-name >> >> > "/home/zeltak/org/files/agenda/meetings.org")) >> >> > (org-icalendar-export-to-ics) >> >> > (message "exported to ics"))) >> >> > >> >> > this does save the org file "meetings.org" to an ICS file in the >> same >> >> > folder >> >> > as the file. but i want to do 2 additional things: >> >> > 1)save the resulting ICS file to a different directory >> >> > 2)run this function every X hours (lets say every 2 hours) >> >> > >> >> > any clue guys? >> >> > >> >> > thx! >> >> > >> >> > Z >> >> >> >> For 1), change: >> >> >> >> (org-icalendar-export-to-ics) >> >> >> >> to something like this: >> >> >> >> (rename-file (org-icalendar-export-to-ics) your-preferred-pathname) >> >> >> >> For 2), evaluate this: >> >> >> >> (info "(elisp) Timers") >> >> >> >> -- >> >> Phil Hudson http://hudson-it.ddns.net >> >> @UWascalWabbit PGP/GnuPG ID: 0x887DCA63 >> > >> > >> >> >> >> -- >> Phil Hudson http://hudson-it.ddns.net >> @UWascalWabbit PGP/GnuPG ID: 0x887DCA63 >> > >