MHICAL(1)

NAME
mhical - nmh's manipulator of iCalendar event requests

SYNOPSIS

mhical [-help] [-version] [-form formatfile] [-format formatstring] [[-reply accept | decline | tentative] | -cancel] [-attendee address] [-contenttype] [-infile infile] [-outfile outfile] [-unfold] [-debug]

DESCRIPTION
mhical manipulates an iCalendar (.ics) event request, to display it, generate a reply to it, or cancel it. iCalendar event requests and replies are defined by RFC 5545.

The default operation is to display the iCalendar event request in a human-readable format.

For the display operation, the -format string and -form formatfile switches may be used to specify a format string or a format file to read. If given a format string, it must be specified as a single argument to the -format switch. If given a format file name with -form, the file is searched for using the normal nmh rules: absolute pathnames are accessed directly, tilde expansion is done on usernames, and files are searched for in the user's Mail directory as specified in their profile. If not found there, the directory “/usr/pkg/etc/nmh” is checked. mhical defaults to using a format file named mhical.24hour, and will use the one installed in the “/usr/pkg/etc/nmh” directory if not found elsewhere.

The following format components are supported:

    ^method~^
    ^organizer~^
    ^summary~^
    ^description~^
    ^location~^
    ^dtstart~^
    ^dtend~^
    ^attendees~^

Those format names are case-sensitive. Each corresponds to the iCalendar property of the same name as defined in RFC 5545, with the exception of attendees. That is a comma-delimited list of the common name (CN), if available, or email address of Attendee properties. A maximum of 20 will be displayed.

  Timezone
mhical will display the event with times converted to the timezone specified by the TZ environment variable, if it is set, see tzset(3). If not set, its behavior is implementation defined, but may use the user's local timezone.

  Reply
The -reply switch generates a reply from the event request. The required action parameter must be one of accept, decline, or tentative. Delegation is not supported.

If one of your mailboxes matches more than one attendee in the request, the -attendee switch must be used to select the one to use in the reply. The -attendee switch can also be used to specify the attendee address if no attendees match any of your mailboxes.

  Cancel
The -cancel switch generates an iCalendar event that can be used to cancel the event request.

  Input/Output
By default, mhical reads from standard input and writes to standard output. The -infile and -outfile, respectively, switches can be used to override these defaults.

  Miscellaneous Switches
The -contenttype switch instructs mhical to insert a Content-Type header at the beginning of its output, for use by mhbuild. It can only be used with -reply and -cancel.

The -unfold switch echoes the event request, but with all lines unfolded.

The -debug switch reveals minute details of the parse process.

FILES
mhical looks for format files in multiple locations: absolute pathnames are accessed directly, tilde expansion is done on usernames, and files are searched for in the user's Mail directory as specified in their profile. If not found there, the directory “/usr/pkg/etc/nmh” is checked.

^/usr/pkg/etc/nmh/mhical.24hour~^The default display template
^/usr/pkg/etc/nmh/mhical.12hour~^Display template that uses 12-hour clock

SEE ALSO
mhbuild(1), mh-format(5), mh-profile(5), tzset(3), repl(1)

DEFAULTS
`-form' defaults to mhical.24hour
`-infile' defaults to standard input
`-outfile' defaults to standard output

BUGS
mhical supports only a very limited subset of RRULE formats. Specifically, only a frequency of YEARLY and an interval of 1 are supported.

mhical produces output with just newlines instead of carriage return-newline combinations. This is intentional, to fit with typical nmh convention.