iCal Repeat Todos
October 2, 2007 9:00 AM   RSS feed for this thread Subscribe

How do I set iCal todo items to repeat on a regular interval? That way if I check off to mow the lawn, it will auto-create a new todo item for next week so I see it on my schedule. My Palm pilot used to do this. Is there an AppleScript?
posted by honorguy7 to computers & internet (8 comments total) 4 users marked this as a favorite
Click on an event. View Menu> Info.

There's a 'repeat' choice. Adjust to your liking. Or am I missing something?
posted by filmgeek at 10:48 AM on October 2, 2007


He's asking about a to-do, not an event. They are different.
posted by clh at 10:53 AM on October 2, 2007


This is the closest I could get with Applescript. As far as I can tell, there's no to trigger it by the action of marking a todo as completed, so you'll have to run the script manually.

The script checks if a todo called "mow lawn" is marked as complete and then creates another task 7 days out from the date it was marked as completed. In this example, I have the "mow lawn" todo in a calendar called "Chores". Adjust the property as necessary to reflect your setup.

property todoCalendar: "Chores"

tell application "iCal"
tell calendar todoCalendar
set theTodo to last todo whose summary contains "mow lawn"
set doneDate to (completion date) of theTodo
try
set newDueDate to doneDate + 7 * days
make new todo at end with properties {description:"mow lawn", summary:"mow lawn", due date:newDueDate}
on error
display dialog "The last mow lawn task has not been completed."
end try
end tell
end tell

posted by pmbuko at 10:54 AM on October 2, 2007


iCal's to do module is pretty weak. Lack of repeating items there led me (and many others) to switch to RTM.
posted by olecranon at 12:05 PM on October 2, 2007 [1 favorite]


The trick is to set up a recurring event that has an Applescript as an alarm. Here's what I do:

1. Setup a new calendar called "Scripts" (I do this so I can just hide the calendar and not have to see dozens of events that simply trigger a to-do.)

2. Create the Applescript for my to-do and save it somewhere (I have a scripts folder in my documents folder):

--Time Warner Cable bills
--Run on the 23rd of each month
tell application "iCal"

set theDay to 14 --day the bill is due
set theSummary to "Pay Time Warner Bill" --summary of todo
set theURL to "https://payxpress.timewarnercable.com/" --url (if any)
set thePriority to 5 -- medium priority

set today to current date
set theMonth to (month of today as number) + 1
if (theMonth > 12) then
set theMonth to 1
set theYear to (year of today as number) + 1
else
set theYear to year of today as number
end if
set dueDate to today
set month of dueDate to theMonth
set day of dueDate to theDay
set year of dueDate to theYear
make new todo at the end of todos of calendar "Bills" with properties {summary:theSummary, due date:dueDate, priority:thePriority, url:theURL}
end tell


3. Set up recurring event to trigger script to repeat every month, with Alarm:Run Script, (Choose script), the same day, at 8am.

It's not particularly simple, but it works. You may have to change a few calculations on the date depending on when you want the script to run. For example, if you run your script on the 1st and your to-do is due on the 15th, you can take of the "+ 1" for theMonth.

Hope this helps.
posted by conigs at 7:25 PM on October 2, 2007


If you have OmniOutliner, you could setup kGTD and use it to drive iCal updates. It's relatively easy to setup kGTD and it can handle your lawn-mowing reminders with ease. The author of kGTD is working with the OmniGroup on OmniFocous, a standalone GTD client.

Also, just checked, iCal's to-dos don't have any sort of repeat functionality in MacOS X 10.5.
posted by nathan_teske at 9:21 PM on October 2, 2007


check out http://web.mac.com/lypanov/iWeb/Web/Diary/9950DF91-726E-42B2-A639-1967D1DE7545.html
posted by zinf at 3:11 AM on October 3, 2007


iGTD (which I have eschewed for OmniFocus) will do this and it's free.
posted by filmgeek at 5:12 AM on October 3, 2007


« Older Diagnose this muscle condition...   |   Really fun creative writing ex... Newer »

You are not logged in, either login or create an account to post comments



Related Questions
Please help me sync iCal to my Palm before my Palm... August 8, 2008
What's the best calendar option for a 50-person,... July 1, 2008
Switching from Entourage 04 to iCal/Mail/Address Book October 19, 2007
Syncing iCal on two Macs October 4, 2007
Maybe this is all just glorified procrastination. June 19, 2007