Меня постоянно удивляла работа iCal с днями рождений. Они фиксируются в контактных данных, но кроме записи в календаре при включенной опции iCal “Show Birthdays calendar” пользы от них нет – я лично смотрю в календарь от силы пару раз в неделю. Никакие уведомления о приближении памятной даты не предусмотрены. В итоге приходится полагаться по-прежнему на память, чтобы не забыть дни рождения друзей. Т.е. вроде и есть информация, но она практически бесполезна.
На этой неделе я в очередной раз пропустил день рождения подруги, хоть чётко помнил о нём всю предыдущую неделю.
“Пора что-то делать”, – сказал я себе. И приступил.
Есть способ, использующий штатные возможности iCal, он описан в статье “
tell application "iCal" tell calendar "Birthdays" set all_events to every event repeat with this_event in all_events tell this_event delete every sound alarm delete every display alarm make new display alarm at end with properties {trigger interval:-((1 * days) / (1 * minutes))} end tell end repeat end tell end tell
Есть одна проблема – скрипт нужно запускать самому после добавления дня рождения в контакты. Это можно было бы сделать через LaunchDaemons, StartupItems или cron, но мне внезапно стало лень это делать, и я воспользовался программой
Покажу скриншоты. Можно указать календарь, в который помещаются события:
Можно настроить заголовки для сообщений, поддерживаются дни рождения и годовщины:
По умолчанию создаётся три нотификации. Поддерживается отображение сообщения, отправка почты и запуск скриптов.
При возникновении проблем или изменении календаря можно провести пересинхронизацию:
Надеюсь, что теперь забытых дней рождений не будет :-)
Немного рекламы. Что-то не везёт мне на доходы от рекламы (вы заметили, что сейчас сайт чист), попробую разместить постовой (странное слово как на мой взгляд). Никогда с SEO особо не сталкивался, вот сайт киевской компании Идеал, которая этим занимается: ideal.kiev.ua.