Alarmes anniversaire

Fidèle lecteur de MacOSXHints, je suis tombé sur cette entrée qui m'a beaucoup plu ! Du coup, je partage avec vous cette astuce puisqu'apparemment Snow Léopard n'a pas ajouté cette lacune dans iCal.
D'ailleurs, attention avec Snow Léopard, il y a entre autres un bug fatal (merci Antoine) !

Inutile pour moi de vous expliquer le code ou m'en vanter, je vais juste vous filer le script qui m'a permis d'obtenir ce que j'ai sur ma capture d'écran :

(*
(c) Copyright 2007 Andrew Bussman
Edited by Joris Berthelot admin@eexit.net  
*)

tell application "iCal"  
    tell calendar "Anniversaires" -- Update this line depending on your system language
        set all_events to every event
        repeat with this_event in all_events
            tell this_event
                delete every sound alarm
                delete every display alarm

                -- Adds a sound alarm 10 days before
                -- make new sound alarm at end with properties {trigger interval:-14400, sound name:"Basso"}

                -- Adds message alarm the previous day at 12:00
                make new display alarm at end with properties {trigger interval:-720}

                -- Adds message alarm the d-day at 12:00
                make new display alarm at end with properties {trigger interval:720}
            end tell
        end repeat
    end tell
end tell  

Ouvrez donc l'éditeur de scripts (Applications/AppleScript/Editeur de Scripts), créez un nouveau script et collez-y le code précédent. Sauvegardez si nécessaire et exécutez accessoirement.
A la fin de l'accomplissement du script, vous devriez avoir un truc du genre dans l'onglet « Résultat » :

display alarm 2 of event id "4B0738E8-46ED-40FA-9FB3-98998596D61E" of calendar id "0D96618C-7C95-41F7-80AC-E88A41BDC66F" of application "iCal"  

Si vous désirez modifier le script, vous devez copier le précédent code source et recompiler l'application.

Bonne journée !


Joris Berthelot