I wrote a small script that, using iCalBuddy, will set your iChat status based on the name of whichever iCal event calls the script as an alarm. Here's how it works.
First, save this as a script in AppleScript Editor. I have saved it as iCal Event to iChat:
set theEventName to (do shell script "/usr/local/bin/icalbuddy -ic \"Some\ Calendar\" -eep \"*\" -nc -b \"\" -n -li 1 eventsToday") if (theEventName is not "") then tell application "iChat" set status to away set status message to "I am attending " & theEventName & "." end tell end if
set theEventName to (do shell script "/usr/local/bin/icalbuddy -ic \"Some\ Calendar\" -eep \"*\" -nc -b \"\" -n -li 1 eventsToday") if (theEventName is not "") then tell application "Chax" to activate delay 2 tell application "iChat" set status to away set status message to "I am attending " & theEventName & "." end tell end if
Mac OS X Hints
http://hints.macworld.com/article.php?story=20091119112000571