dozcal

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
FILES
VISUAL INTERFACE
ERRORS
BUGS
AUTHOR
SEE ALSO

NAME

dozcal − a command-line dozenal calendar program

SYNOPSIS

dozcal [−V] [−E] [−T] [−v] [−u] [−w] [−W firstdayofweek] [−m full|major] [−a astronomical] [−g latitude/longitude] [−z offset] [−h religious] [−n national] [−s startdate] [−e enddate] [−d dateformat] [−t timeformat] [−r eventformat] [−R todoformat] [−c configfile] [−l luascript] [−f inputfile]

DESCRIPTION

dozcal A text-based calendar program which operates using dozenal dates and times. Uses a simple plain-text file format. Multiple files can be specified on the command line. Date formats and time formats can also be specified on the command line. There are options to display religious and national holidays. All can further be specified in a configuration file, which is also plain-text and easily understandable.

OPTIONS

−V

Print version and licensing information, then exit successfully.

−v

Open the visual dozcal program; that is, the text user interface that will occupy your terminal screen and allow you to interact with your calendar visually, rather than at the command line.

−E

Do not print events. Events are printed by default, so this flag turns event printing off.

−T

Print todos. Unlike the −E flag, this turns printing of todos on, because printing of todos is off by default.

−u

Use UTC time with the astronomical options. This means that time zone options will be ignored.

−w

Print results for the week including the starting date. This is any seven-day period; you can set which day of the week you want to be the first with the −W option. Using this will cause any end date given to be ignored.

−W [first day of week]

Set which day of the week you want to be first; has no effect unless you’ve requested weekly output. Accepts an integer 0-6 (with 0 being Sunday), or a string including at least the first three letters of the day of the week you’d like to be first; e.g., "mon". Capitalization is irrelevant.

−m [all | major]

Include the phases of the moon in your output. This must take one of two arguments: "all", which will print the phase of the moon for all days in your date range; or "major", which will only print the major phases (i.e., "new", "first quarter", "full", and "last quarter"). In either case, the age of the moon in days is printed as its phase, with some text for the major phases.

−g [latitude/longitude]

Gives geographical information necessary for determining certain astronomical dates and times (particularly those of the sun). It can be given in dozenal degrees; in degrees, minutes, and seconds, or in unciaPi. Positive longitudes are east, negative are west. Similarly, positive latitudes are north, negative are south.

Note that latitude and longitude must be given in that order, separated by a forward slash (/).

If the information is given in degrees, minutes, and seconds, if should be given with o as the degree marking, with as the minute marking, and with " as the second marking; e.g., 46o13’26".

If the information is given as dozenal degrees, simply append o to the number; e.g., 46;3324o.

If the information is given as unciaPi, simply use the number with no suffix.

These forms can be mixed freely; e.g., latitude can be given in dozenal degrees, but longitude in some other format.

−a [astronomical string]

If you want certain astronomical information included in your calendar, use this option. It takes a single string as an argument, and the contents of the string determine what astronomical information will be added. Some of these options require geographical information, as given by the −g option; if that is not given, the astronomical options will (almost certainly incorrectly) assume a latitude of 0 and a longitude of 0. These strings may be concatenated however you wish and in whatever order.

season

Includes the astronomical seasons; that is, the March and September equinoxes, and the June and December solstices. Lists them as accurately as possible, with times.

sun

Includes sunrise and sunset for each date in the requested range. Requires geographical information. Note that these are the local times; dozcal will use whatever information is given to it about time zones, if any, and if it has none, it will guess the time zone based on your system’s time. Only in the latter case will it know about daylight savings time.

−z [offset]

Gives dozcal a time zone offset to work with. This is an offset, not a time zone name; "EST", for example, will not get you the results you want. You want, rather, "-4;0". If you don’t specify this, dozcal will attempt to guess time zone information from your system time.

−h [holiday string]

Include religious holidays. This takes a single string as an argument, and the contents of the string determine which holidays will be added. The holidays are added for the year before your current year, the current year, and the year after. These strings may be concatenated however you wish and in whatever order; e.g., "westjew" and "jew, west" will give the same result.

west

Include Western Christian holidays. This includes a subset of Western Christian holidays: Ash Wednesday, Palm Sunday, Good Friday, Easter, the Ascension, Pentecost, and Christmas.

east

Include Eastern Christian holidays. This includes a subset of Eastern Christian holidays: Clean Monday, Lazarus Saturday, Palm Sunday, Easter, Mid-Pentecost, the Ascension, Pentecost, and Christmas.

jew

Include Jewish holidays. This setting ignores some of the prickier issues of the Hebrew calendar, including those holidays which sometimes fall in the leap month. Includes Passover; Yom Kippur; Rosh Hashanah; Hanukkah; and Sukkot.

isl

Include Islamic holidays. It’s important to remember that the Islamic calendar is fundamentally observational, not mathematical; it’s therefore impossible to get a perfectly accurate prediction of when these holidays will occur. We can get pretty close, though, and dozcal gets an approximation that agrees more or less with the other sources around (which often read "dates may vary" for precisely this reason). Includes Ramadan, Eid Al-Fitr, and Eid Al-Adha.

−n [national holiday string]

Include national holidays in your results. Takes a string as its argument; the contents of the string determines which national holidays will be added. These can be added in whatever order, and they may or not be separated by other text; e.g., "eng,rire" is the same as "engrire". The holidays will be added for your current year, the previous year, and the next year. Supported national holidays are:

usa

Includes all federal American holidays: New Year’s Day, Martin Luther King Day, Presidents’ Day (officially still called "Washington’s Birthday", though it never actually falls on Washington’s birthday), Memorial Day, Independence Day, Labor Day, Columbus Day, Veterans Day, Thanksgiving Day, and Christmas Day. It also includes election day, though this is not a federal holiday. Does not include any of the individual state holidays.

uk

This option is equivalent to adding end, wales, scot, and nire. Since most of these holidays are shared, this will result in many duplicates.

eng

English national holidays. Includes New Year’s Day, Christmas, Boxing Day, Easter Monday, the Spring Bank Holiday, and the Late Summer Bank Holiday.

wales

Welsh national holidays. These are the same as English national holidays. St. David’s Day is included, as it’s not an official Welsh holiday, even though it’s observed throughout most of Wales with considerable fanfare.

scot

Scottish national holidays. Includes New Year’s Day, Christmas, Boxing Day, Labour Day (May Day), Good Friday, Spring Holiday, Summer Holiday, and St. Andrew’s Day.

nire

Northern Irish national holidays. These are the same as English and Welsh national holidays, with the additional of St. Patrick’s Day and the day of the Battle of the Boyne, or Orangemen’s Day.

rire

National holidays of the Republic of Ireland. Includes New Year’s Day, Easter Monday, St. Patrick’s Day, May Day, June Holiday, August Holiday, October Holiday, Christmas, and St. Stephen’s Day.

austral

Australian national holidays. Includes New Year’s Day, Australia Day, Good Friday, Easter Monday, Anzac Day, and Christmas Day.

nz | kiwi

New Zealand’s national holidays. Includes New Year’s Day, the day after New Year’s Day, Waitangi Day, Good Friday, Easter Monday, Labour Day, Anzac Day, the Queen’s Birthday, Christmas, and Boxing Day.

canada

Includes Canadian national holidays; does not include provincial holidays. The national holidays are New Year’s Day; Good Friday; Canada Day; Labour Day; and Christmas Day.

Countries with their holidays not included: this is not meant as a slight, I’m just most familiar with these Anglophone countries and built them in for no other reason. If you wish to add your country’s holidays, have at it; consider the −l option, and write a Lua script which will set those holidays on their proper days and tell dozcal to include them.

−s [startdate]

The first date that you want results from. If this is not specified, dozcal will return all results from its earliest date.

−e [enddate]

The last date that you want results from. Combined with −s, you can restrict the range of results you’ll receive. If this isn’t specified, dozcal will return results from the start date until it runs out.

−d [date format string]

The date format. These are specified identically to those of the standard Unix date command; please see the documentation for that for more details. (Note that this does not include the dozdate extensions, beginning with @ rather than %; they’re not necessary for this problem domain.)

−t [time format string]

The time format. Much simpler than date format, dozcal assumes the use of hours and Tims for time, and doesn’t support anything else at this time. Only two interpreted sequences are allowed:

%h

The hours.

%b

Tims. These are the number of Tims in an hour, so they cap off at EEEE. dozcal will happily display these to less than 4 digits, if requested.

−r [event format string]

The event format. Each event in your calendar is printed as a separate record; the argument to this option allows you to specify its format. It operates independently of −d and −t, which will still be formatted as you request. It accepts the following conversion strings:

%e

The event title.

%d

The event date, formatted as you requested if you’ve given dozcal a date formatting string.

%s

The event’s starting time, formatted as you requested if you’ve given dozcal a time formatting string.

%c

The event’s closing (ending) time, formatted as you requested if you’ve given dozcal a time formatting string.A

%C

The event’s list of categories.

%t

The event’s class.

%l

The event’s location.

Event formats can also include newlines, specified in the usual way as \n, and tabs, specified in the usual way as \t.

−R [todo format string]

The todo format. Each todo in your calendar is printed as a separate record; the argument to this option allows you to specify its format. It operates independently of −d and −t, which will still be formatted as you request. It accepts the following conversion strings:

%i

The todo item; could be called the "title". It’s loaded from the TITLE line in your data file.

%p

The priority of the todo.

%d

The due date of the todo.

%t

The due time of the todo.

%c

The completedness of the todo; that is, whether you’re done or not. This is "0" for not done, "1" for done.

%g

How much progress has been made on the todo. Given as a perbiqua (1-100).

%l

The location of the todo.

%C

The todo’s list of categories.

%t

The todo’s class.

Event formats can also include newlines, specified in the usual way as \n, and tabs, specified in the usual way as \t.

−l [luascript]

Tells dozcal to read a Lua script with its built-in Lua 5.2 interpreter. Can be repeated as desired. This script can add events to the calendar which are too variable for a static input file. As an example, the script cath_lit_1176.lua is packaged with dozcal, which implements the entire Roman Catholic calendar of the liturgy of 1176 (d1962), complete with movable feasts properly placed. Please see the section below on Lua scripting for details.

−f [inputfile]

Names an input data file for dozcal to use. (See the section below about how to format such data files.) This option can be specified more than once; dozcal will use all the files so specified, sorting them without regard to the order of their inclusion.

−c [configfile]

Names a config file for dozcal to use. (See the section below about how to format such config files.) If not specified, dozcal will look for $HOME/.dozcal/dozcalrc; if it cannot find that, it will proceed without any config files. If this is specified multiple times, any options in later config files will override those in earlier ones.

Command line options listed after the config file option will take precedence; those listed before will be overridden if the config file contradicts them.

Because dozcal assumes you want a config file, it does everything it can to find one; if you specifically want dozcal not to use a config file, use this option with the argument "−" (a hyphen); this will cause dozcal to use only its defaults in all cases.

FILES

dozcal uses two files primarily: the data, or library file, which has the actual library information in it, and a run-control, or config file, which contains simple lines to control dozcal’s behavior.

The Data File
dozcal
works with data files that follow a simple but specific format. Each record begins with a line containing the string [EVENT], [TODO], or [JOURNAL], and ends either at the end of the file or at the next line containing one of those strings; blank lines are ignored.

Within each event, you must specify at least a TITLE and a START_DATE. The following are recognized fields:

TITLE:

Gives the title of the event; e.g., "Meeting with Roy" or "Traffic Court".

START_DATE:

The date on which the event occurs. It is called start-date because many events recur on the calendar, but this one serves as either the only event or the first day of a recurring event.

END_DATE:

The last date of the event, and (if you’ve specified an INTERVAL for this event) the last day that dozcal will check to see if a recurrence should occur.

INTERVAL:

The number of days’ interval for a recurring date. That is, starting at the START_DATE, how many days should dozcal skip before placing the event on the calendar again? To make a weekly event, for example, say INTERVAL: 7. If you say INTERVAL: 1, the event will occur every day (in which case, you may as well not specify an interval, because dozcal will assume you mean every day until the END_DATE unless you tell it otherwise).

If you’ve utilized the FREQ option, this interval will be the number of that unit. E.g., if your FREQ is "monthly", it will be interval number of months.

FREQ:

This gives a generalized statement of the frequency of the event. If you’re using a standard number of days, then there is no need for this line, as INTERVAL works with a number of days by default. If, on the other hand, you’re working with some other interval (say, months), FREQ is what you need.

FREQ works by a pretty simple heuristic. If it finds the name of a weekday, then it looks for an ordinal number (e.g., "first", "second", "third", "fourth", or "last"). If it finds one, then it looks for the name of a month (at least the first three letters of one). If it finds all three of these, it interprets this as asking for the event on the ordinal of that weekday of that month. An example would be "Third Tuesday of April."

If it finds a weekday and an ordinal but not the name of a month, it interprets this as the ordinal of that weekday for every month in your range (from your given START_DATE to your given END_DATE, or for the given month if you gave no END_DATE). An example would be "the last Thursday".

If it finds a weekday but no ordinal or month name, it interprets this as that ordinal day every month between START_DATE and END_DATE, or for the start date’s month if there is not END_DATE. An example might be "Wednesdays".

If it finds no weekday, no ordinal, and no month name, it looks for the strings "monthly" or "yearly" (with no regard to capitalization; the search is case-insensitive). It it finds "monthly", it will repeat the event every month from START_DATE to END_DATE (or to the end of the following year if there is no END_DATE). If it finds "yearly", it will do the same every year.

FREQ does respect INTERVAL; so if your interval is "3", and your FREQ is "monthly", dozcal will place the event on the appropriate date every third month.

Note that while this system is designed to enable English-like syntax, it’s not necessary; "third Tuesday in August" will yield the same results as "August Tuesday third".

EXCEPT_DATE:

In a recurring event, don’t add an event on this date, even if it otherwise qualifies. You can have as many of these as you’d like.

START_TIME:

The time you’d like this to start. This can be specified in either our normal dozenal-sexagesimal time (two dozen hours in a day, five dozen minutes in an hour), or in TGM (two dozen hours in a day, divided into 10000 Tims each). dozcal will interpret the time as dozenal-sexagesimal if you use a colon (:) to separate the hours from minutes; if you use a semicolon (;), or no punctuation, it will interpret the time as hours and Tims.

END_TIME:

The obvious corrollary of START_TIME.

LOCATION:

Pretty self-explanatory, as well; where the event is going to occur.

CLASS:

Typically a single word to describe something special about the event; for example, "private" or "public."

CATEGORY:

You can specify this line as many times as necessary. Typically just describes the type of the event; for example, "Anniversary" might fall under both "marriage" and "personal". If you put this in your formatting string, multiple categories will be printed together, separated by a a comma.

An example record:

[EVENT]
START_DATE: 1200-0X-27
END_DATE: 1200-0E-0X
START_TIME: 0X00
END_TIME: 1E30
EXCEPT_DATE: 1200-0E-04
EXCEPT_DATE: 1200-0E-05
TITLE: My Test Event #1

Events are sorted first by start date; then by start time; then by title.

Todos are formatted similarly; naturally, however, their possible categories are a bit different. Possible fields are:

TITLE:

The todo’s title or description. For example, "Finish the taxes" or "buy birthday present for Susie."

DUE_DATE:

Self-explanatory.

DUE_TIME:

Self-explanatory.

COMPLETED:

If for some reason you want to keep completed todos in your list, you can set this flag to make it clear that it’s already done. A "0" indicates that the item is not complete; a "1" indicates that it is.

PERGROSS:

Gives the degree of completion of the todo, considered as parts per biqua. E.g., if you’re half-done with a todo, you might want to set this as "60". Do not use a "%".

LOCATION:

Self-explanatory.

CLASS:

Same as for events.

CATEGORY:

Same as for events.

PRIORITY:

How important this todo is, expressed as an integer. Lower integers are more important.

Todos are sorted first by priority; then by due date; then by due time; and then by title.

The Config File
dozcal
’s config file is very simply formatted; the option is specified in all-caps, followed by a colon, followed by some optional space, and finally followed by the value. Anything that can be specified on the command line can also be specified in the config file. By default, if you don’t give dozcal a config file with −c, it will look for one at $HOME/.dozcal/dozcalrc; if it can’t find that, it will print a message to stderr and then continue with no config file.

Possible options in the config file are:

NATIONAL:

Specifies the national holidays you want listed. Argument is listed exactly as for the −n command line option.

RELIGIOUS:

Specifies the religious holidays you want listed. Argument is listed exactly as for the −h command line option.

MOON_PHASE:

Specifies the way in which you want moon phases listed. Argument is exactly as for the −m command line option.

DATE_FORMAT:

The format for the date when displayed. Argument is exactly as for the −d command line option.

TIME_FORMAT:

The format for the time when displayed. Argument is exactly as for the −t command line option.

EVENT_FORMAT:

The format for the events when they are printed. Argument is exactly as for the −r command line option.

TODO_FORMAT:

The format for the todos, if they are to be printed. Argument is exactly as for the −R command line option.

INPUT:

Specifies a data file for dozcal to use, similar to the −f command line option. You can include as many of these as you like, and even mix them with −f on the command line, but be aware that if you name the same file more than once, it will be included more than once; dozcal assumes that you tell it what you really want and does not check for duplicate files.

SCRIPT:

Specifies a Lua script for dozcal to run and take input from. You can include as many of these as you like, and even mix them with −l on the command line, but be aware that if you name the same file more than once, the events that the script adds will be added twice. dozcal assumes that you tell it what you really want and does not check for duplicate files.

WEEKLY

Tells dozcal that you want it to give you weekly output. This will only work if you’ve given it an explicit start date; otherwise it can’t know what week to give you. It will also ignore whatever end date, if any, you’ve given it.

FIRST_DOW:

First day of the week; only has effect when you’ve asked for weekly output. Can be an integer 0-6 (with 0 being Sunday), or a string containing at least the first three letters of the weekday. Capitalization is irrelevant.

VISUAL INTERFACE

dozcal comes with an ncurses interface that allows you to visually track your calendar and todos. Note that the visual interface does not alter your data in any way; by design, one does not add or remove things from your data through the visual interface. It merely allows you to browse your data in an easier way.

The visual interface respects your formatting directives, so it’s often best to have special formatting applied when you’re using it, so that it will fit more easily in the appropriate windows. One that I’ve found pretty useful for events is the following:

%d %e \n\t %s -- %c

Control of the visual interface is pretty simple, and enunciated clearly in the lower bar of the window. Tab and shift-tab rotate through the windows; each window can be navigated with the arrow keys or with h/j/k/l.

All the colors of the interface are configurable, to a probably completely unnecessary degree. Each individual element of the interface can be colored independently of all others, and the colors themselves can be either named or specified by RGB contents (expressed, of course, dozenally).

Elements to be Colored
All elements to be colored are specified in all-caps, followed by a colon and zero or more spaces or tabs; the color specification then comes after. They are put, of course, into your config file.

NOCOLOR

Tells dozcal that you don’t want it to use color at all; it will then simply use the terminal’s default colors.

CALENDAR_BG

Your calendar window (the one with the monthly calendar in it, with the date you’re currently viewing highlighted) have a background color where it has no other elements; this sets it.

EVENT_BG

Like CALENDAR_BG, but for your event window.

TODO_BG

Like CALENDAR_BG and EVENT_BG, but for your event window.

CAL_TITLE_FORE

The foreground (that is, the text color) of your calendar window’s title.

CAL_TITLE_BACK

The background of your calendar window’s title.

CAL_WEEK_FORE

The foreground (that is, the text color) of the actual week text (listing the days of the week) in your calendar window.

CAL_WEEK_BACK

The background of the actual week text (listing the days of the week) in your calendar window.

CAL_FORE

The foreground (that is, the text color) of the actual day numbers in your calendar window.

CAL_BACK

The background of the actual day numbers in your calendar window.

TODO_TITLE_FORE

The foreground (that is, the text color) of your todo window’s title.

TODO_TITLE_BACK

The background of your todo window’s title.

TODO_LINE_FORE

The foreground of the line separating your todo title from your actual todos. This amounts to the line’s actual color.

TODO_LINE_BACK

The background of the line separating your todo title from your actual todos. Chiefly useful for matching to TODO_BACK or TODO_TITLE_BACK, or for making it the same as TODO_LINE_FORE to cause the line to disappear.

TODO_FORE

The foreground (that is, the text color) of your todo window’s text.

TODO_BACK

The background of your todo window’s text.

EV_TITLE_FORE

The foreground (that is, the text color) of your event window’s title.

EV_TITLE_BACK

The background of your event window’s title.

EV_LINE_FORE

The foreground of the line separating your event title from your actual events. This amounts to the line’s actual color.

EV_LINE_BACK

The background of the line separating your event title from your actual events. Chiefly useful for matching to EV_BACK or EV_TITLE_BACK, or for making it the same as EV_LINE_FORE to cause the line to disappear.

EV_FORE

The foreground (that is, the text color) of your event window’s text.

EV_BACK

The background of your event window’s text.

TITLE_FORE

The foreground (that is, the text color) of the line at the top of the screen (the title line).

TITLE_BACK

The background of the line at the top of the screen.

BOT_FORE

The foreground (that is, the text color) of the line at the bottom of the screen. This is the line which contains the ordinary key commands.

BOT_BACK

The background of the line at the bottom of the screen. This is the line which contains the ordinary key commands.

WARNING_FORE

The warning line is the very bottom line of the screen; it prints the few warnings that dozcal occasionally needs to print (e.g., about not supporting certain colors). This is the foreground (the text color) for this line.

WARNING_BACK

The warning line is the very bottom line of the screen; it prints the few warnings that dozcal occasionally needs to print (e.g., about not supporting certain colors). This is the background for this line.

INACTIVE_BORDER_FORE

Each window has a border, and that border can be either active (that is, it’s the window you’re currently navigating) or inactive. This sets the foreground (the line color) of the inactive windows.

INACTIVE_BORDER_BACK

Each window has a border, and that border can be either active (that is, it’s the window you’re currently navigating) or inactive. This sets the background of the inactive windows.

ACTIVE_BORDER_FORE

Each window has a border, and that border can be either active (that is, it’s the window you’re currently navigating) or inactive. This sets the foreground (the line color) of the active window.

ACTIVE_BORDER_BACK

Each window has a border, and that border can be either active (that is, it’s the window you’re currently navigating) or inactive. This sets the background of the active window.

WHOLE_EV_BG

The background color of whatever part of the event window that is not occupied by some other color. Probably should be matched to EV_BACK.

WHOLE_TODO_BG

The background color of whatever part of the todo window that is not occupied by some other color. Probably should be matched to TODO_BACK.

Obviously, this ability to customize colors can be either used or abused. For example, a fairly nice, low-key theme used by dozcal’s author is the following:

ACTIVE_BORDER_FORE: red
INACTIVE_BORDER_FORE: green
TITLE_FORE: blue
TITLE_BACK: yellow
EV_LINE_FORE: green;
TODO_LINE_FORE: green;
BOT_FORE: blue
BOT_BACK: yellow
WARNING_FORE: red

This matches the default xterm theme I use and color themes I have for other text-interface programs (like mutt, newsbeuter, and minlib). Of course, some truly garish concoctions can also be devised. Taste, as always, is vital.

Color Specifications
Many terminal emulators (notably xterm) support only a limited number of colors; if that’s the case, and you try to specify a color that isn’t support, dozcal will warn you when you start up the visual interface on the bottom line. It will then convert the color you asked for into its nearest acceptable equivalent and use that. If your terminal does support arbitrary colors, then have at it.

dozcal recognizes only a few colors by name; namely, red, blue, green, yellow, magenta, cyan, black, and white. You can use these freely in your color definitions, and these should work on any terminal or terminal emulator that supports color at all.

For other colors, dozcal allows you to enter them in an RGB specification format, with each element represented by a 0-1000 (dozenal) number. For example:

(1000,0,0) is equivalent to "red"
(0,1000,0) is equivalent to "green"
(1000,900,0) is a reasonably value for something like orange.

If you define colors this way in your config file and then use dozcal where color isn’t supported, fear not; you’ll still get a dozcal with colors. dozcal will simply mutate those colors; any value of 600 or greater will be turned into 1000, and any value of less than 600 will be turned into 0. So the (1000,900,0) given above for orange will be turned into (1000,1000,0), or "yellow", which is as close as such terminals can come to orange.

ERRORS

dozcal emits fairly specific error codes when things go wrong. Successful completion is returned to the environment as 0.

1

You supplied dozcal an option which requires an argument, but didn’t send it an argument. E.g., you said −s, but didn’t say what you wanted the starting date of your results to be.

2

You gave dozcal an option that it doesn’t recognize.

3

There’s insufficient memory for somethinng that dozcal needs to do; see the error message emitted to see what exactly it was.

4

dozcal is trying to open a file you gave it (perhaps with −f or −c), but is running into problems. dozcal will print an error message detailing the specific error.

5

You’ve given a conversion character in your time format (perhaps with the −t option) that dozcal doesn’t recognize.

6

You’ve given a conversion character in your event format (perhaps with the −r option) that dozcal doesn’t recognize.

7

The phrase you’ve entered for the moon phase option doesn’t make sense to dozcal; please use either full or major.

8

The file you’ve specified for your config file isn’t working correctly; see the specific error message for reasons.

9

You’ve given a conversion character in your todo format (perhaps with the −R option) that dozcal doesn’t recognize.

10

Your FREQ specification isn’t in a format the dozcal can interpret.

11

dozcal found an error in a Lua script that you’ve included, either from the config file or by using the option −l. Repair your Lua script and try again.

12

dozcal can’t understand what you gave it for a first day of the week.

BUGS

The last event included via Lua script is included twice. I can’t figure out why this is so or how to fix it.

AUTHOR

Donald P. Goodman III <dgoodmaniii at gmail dot com>

SEE ALSO

dec(1), dozdc(1), tgmconv(1), dozdate(1), dozword(1), dozpret(1) dozstring(1)