ical open file and alarm

Hi there,
I need some help with ical, and probably i discovered a bug. Recently I get an ever growing time schedule plan and it happens, that normal alarms intersect simultaneously with open file alarms, those starting applescript Apps.
Some times my left-mouse click shuts off in such situations, and i’m unable to use the left mouse click any further, until I restart my Mac, because logging out/Stop seems not to solve the bug. Some suggestions ?

Hello Jo.

This doesn’t sound fun at all, and difficult to debug too. If I were you, I’d check My calendar before I set my alarm, or find something else to use for the kind of alarms that may conflict with your existing ones.

Another solution would be to reschedule your alarms, and mash the intersecting ones together if I have misunderstood you right.

Maybe this script may help you, it was one by Adam Bell, I found in an article about Growl I believe, and I think I tinkered some more with it to suit my needs: I use this to look at my hard events, (in Getting Things done methodology).

If you don’t have Growl installed, then you must download it.

-- GrowlIt 1.2
-- Description:
-- An applescript that displays events and to-do's from iCal as Growl notifications.
-- Based on multiple other Applescripts found in multiple sites.
-- No warranty. Tested with iCal 4.0.1 and Growl 1.2 under Mac OS X Snow Leopard 10.6.2
-- Written by Leonardo Alcantara software@imagn.net 
-- Last modified: 2010-03-28
set myAllNotesList to {"Events"}
set appName to "GrowlIt"
set now to current date
set theEventSummary to ""
set theEventDescription to ""
set interVH to 0
set interVM to 0
set startD to now - 1 * hours
set endD to now + 1 * days
set TFlex to 1
tell application "GrowlHelperApp" to ¬
	register as application appName all notifications myAllNotesList default notifications myAllNotesList icon of application "iCal"

tell application "iCal"
	repeat with thisCalendar in calendars
		repeat with thisEvent in ((every event of thisCalendar) whose ((start date ≥ startD and start date ≤ endD) or (end date ≥ now and start date ≤ startD)))
			if exists open file alarm of thisEvent then
				set interV to -1 * (trigger interval of first open file alarm of thisEvent)
				if interV > 59 then
					set interVH to interV div 60 as integer
					set interVM to interV - (interVH * 60) as integer
				end if
				if (start date of thisEvent is greater than (now + (interV * minutes) - (TFlex * minutes)) and start date of thisEvent is less than (now + (interV * minutes) + (TFlex * minutes))) then
					tell thisEvent
						if interVH = 0 then
							if exists summary of thisEvent then
								set theEventSummary to (summary & " in " & (interV) & " minutes")
							end if
							if interVH = 1 then
								if exists summary of thisEvent then
									set theEventSummary to (summary & " in " & (interVH) & " hour and " & interVM & " minutes")
								end if
								if exists summary of thisEvent then
									set theEventSummary to (summary & " in " & (interVH) & " hours and " & interVM & " minutes")
								end if
							end if
						end if
						if exists description of thisEvent then
							set theEventDescription to description
						end if
					end tell
					tell application "GrowlHelperApp" to ¬
						notify with name "Events" title theEventSummary description theEventDescription application name appName with sticky
				end if
			end if
		end repeat
	end repeat
end tell


When you run the script above, you don’t set alarms except for three or four, that triggers this script, that will rotate the contents of the growl window with just passed and pending events. That way, you’ll never have intersecting alarms.
You’ll have to remember your events without any further “direct” notification. That is the downside. :expressionless:

You may also have to change the icons for growl, I think you can just run the script from within Script Editor for starters, and see if it behaves good.

Thanks MacUsr,
Oh.got a headache from it. The problem is-the events have different priorities and attached actions and need to run separately. However, i’ll see to merge some minor important events, to solve a part of the problem. Is there some other software around to organize events? when i’m not wrong, there should exist a calendar app from Modzilla.Applescriptable, hopefully.

Hello. I prefer the KISS (keep it stupid, simple) approach to this, so that you at least not increase the complexity. But if you have to, you have to.

If you have different priorites, then you could consolidate the events within say 5 minutes, and let them have the highest priority of any singular event.

This is indeed a complex field. I had a plan of making such a free alarm app, that just consolidated different alarms. within some interval. But you really want to have this in iCal don’t you, at least I would have had.

Good luck!