Using Sunbird calendar on PDA (i.e. wake on RTC alarm on calendar's events)

The attached scripts allow to use Sunbird on PDA, that is to say to wake up automatically the device on Sunbird's alarm. I am successfully using them on the Sharp Netwalker (aka PC-Z1) but it should work on any device that supports wake up on RTC (the Netwalker does only after some hacks) and uses the APM daemon for power-related event management (the Netwalker does ; however for other devices that use ACPI, it should be quite easy to adapt).

To install it, proceed as following:

  1. Install the python-pysqlite2 package.

  2. Copy the attached file (link below) sunbird_set_next_rtc_alarm.py somewhere on your PATH (for example, in /usr/bin) and make this file executable:

    chmod a+x /usr/bin/sunbird_set_next_rtc_alarm.py
  3. Copy the attached file (link below) 50sunbird_rtc_alarm in /etc/apm/suspend.d and make this file executable:

    chmod a+x /etc/apm/suspend.d/50sunbird_rtc_alarm).
  4. Edit sunbird_set_next_rtc_alarm.py . At line 3, indicate the maximum time (in second) your device needs to resume from suspend (the default 10 seconds is right for the Netwalker).

  5. At line 4, indicate the path to the Sunbird's storage file. if you have no idea at all, the following command should give you some hints:

    ls /home/*/.mozilla/sunbird/*/storage.sdb

That's all! Now, every time you suspend the device, sunbird_set_next_rtc_alarm.py is called. It looks Sunbird's calendar for the closest alarm, and, if any, define the device's RTC alarm as needed. Then, the device will wake up a few second before the alarm, and thus Sunbird will be able to beep you.

sunbird_set_next_rtc_alarm.py

50sunbird_rtc_alarm