]> diplodocus.org Git - nmh/blob - docs/README-iCalendar
More tests, but not quite there yet.
[nmh] / docs / README-iCalendar
1 To view an iCalendar (text/calendar, .ics, RFC 5545) attachment with
2 mhshow or mhn, all I had to do was install calcurse
3 (http://www.calcurse.org/), set it up once, and add this to my
4 profile:
5
6 #: With mhshow, the following just views the calendar attachment.
7 #: With mhn, it inserts it into my personal calcurse calendar.
8 #: calcurse must be set up before or at first use. To set up beforehand,
9 #: either run it without any arguments and then "qqqy", or:
10 #: $ echo qqqy | calcurse
11 #: The range of 60 is in days: anything after that range (or before the
12 #: current date) won't be shown.
13 #: The grep of TZID works around a current (v. 3.1.4) calcurse
14 #: deficiency: it doesn't support timezones.
15 #: The | cat below allows a sequence of shell commands.
16 mhshow-show-text/calendar:
17 %lcalcurse -c /dev/null --read-only --import '%F' --range=60 --todo | cat;
18 calcurse --gc;
19 grep TZID: '%F'
20 mhn-show-text/calendar:
21 %lcalcurse --import '%F' | cat;
22 grep TZID: '%F'
23
24
25 To create and send out a calendar request:
26 1) Launch calcurse and create the calendar request.
27 2) Export the calendar request to a file, either using the
28 "x" command from within interactive calcurse or using the
29 -x/--export command-line option. The output filename
30 should have an extension of .ics if you'll use send -attach.
31 3) For compatibility with MS Outlook, edit the calendar
32 request file and insert this line into the VCALENDAR
33 section:
34 METHOD:REQUEST
35 and insert this line into the VEVENT section:
36 UID:<uid string>
37 where <uid string> should be unique.
38
39 If you insert the following 5 lines just before the
40 END:VEVENT line, it will enable alarms for recipients who
41 have support for them:
42 BEGIN:VALARM
43 ACTION:DISPLAY
44 DESCRIPTION:REMINDER
45 TRIGGER;RELATED=START:-PT15M
46 END:VALARM
47 4) Attach the calendar request file to a message. With
48 mhbuild, be sure to specify a Content-Disposition type
49 of "inline", using {inline}. The send -attach support
50 handles this properly.
51
52
53 To respond to a calendar request:
54 1) Store the calendar request in a file using, e.g.,
55 mhstore -type text/calendar
56 2) Edit the calendar request, changing the METHOD and your
57 ATTENDEE lines to look like:
58 METHOD:REPLY
59 ATTENDEE;PARTSTAT=<action>;MAILTO:<your email address>
60 where <action> is one of ACCEPTED, DECLINED, TENTATIVE,
61 or DELEGATED (or COMPLETED or IN-PROCESS for to-do's).
62 3) Send that edited request by attaching it to a reply to
63 the meeting requestor; see last step under "To create and
64 send out a calendar request" above.