~whynothugo/valarmd

Extract notifications from icaledar reminder and events
Rename Rfc5545Duration constructor methods
Add api to create Durations

clone

read-only
https://git.sr.ht/~whynothugo/valarmd
read/write
git@git.sr.ht:~whynothugo/valarmd

You can also use your local clone with git send-email.

#valarmd

This is a simple tool to show desktop notifications based on icalendar ALARMS. These may be alarms for events, or todos.

This is designed to inter-operate with todoman, khal and vdirsyncer.

#Status

valarmd is still under development. It does not yet show any notifications. It does already traverse calendar entries.

Done:

  • Walk a vdir and find all *.ics files.
  • Read/parse all the icalendar files (using the icalendar create).
  • Find all alarms in all VEVENTs and VTODOs (done in valarmd).
  • Parse all alarm styles allowed in icalendar (alarms can be relative to start/end of event/todo, or absolute times in UTC).
  • Take into account timezones.

Reading a vdir is a prototype and will be replaced by a vstorage, eventually. Parsing durations has been done in a crate in this repo, icalendar-duration.

Pending still:

  • Apply recurrence rules. A crate exists that should work fine for this. I'll probably only extract recurring events in a very near future, and not ALL future alarms. Note to self: make this timedelta an input to the whole thing.
  • Actually show notifications. I will likely just print the alarms as JSONL to a stream, and have a separate process to actually display the alarms, allowing usage in different platforms and scenarios.
  • Extensions from rfc9074.
  • Non-UTC time zones (this is for alarms with relative dates only).

Usage as a library will also be possible. It falls within scope to allow servers to use this crate to send extracted alarms to clients.

#Licence

This project is licensed under the MPLv2. See LICENCE for details.