PLAN(1)

NAME
plan - interactive X/Motif calendar and day planner
pland - daemon for plan
notifier - X/Motif text displayer for

SYNOPSIS
plan [options]
plan [mmdd]hhmm [options] [message]*
pland [-d] -[kK] -[lL]
notifier [-hdv123] [-ttitle] [-ssubtitle] [-iicontitle] [file]

DESCRIPTION
plan is a schedule planner based on X/Motif. It displays a month calendar similar to xcal, but every day box is large enough to show appointments in small print. By pressing on a day box, the appointments for that day can be listed and edited. This manual page describes the command line options of plan. For information on how to use plan, refer to the on-line help pages.

plan has three modes: GUI, which starts up with a window in interactive mode, append, which adds an appointment from the command line without windows, and batch, which prints miscellaneous information without windows. Batch mode is mainly useful for external scripts (CGI and otherwise) that process appointment data.

pland is a daemon that watches for appointment triggers. The daemon is normally started from your .sgisession or .xsession file. It puts itself in the background. If plan is started, it checks for the existence of the daemon, and offers to start one if it can't find it.

notifier displays the standard input in a window, with appropriate titles and background colors. The only program that ever uses it is the daemon; it is a separate program only to keep the daemon small.

  OPTIONS OF PLAN, GUI MODE

-s  Standalone, don't offer to start daemon if none exists. Without daemon, no appointment alarms and warnings will trigger. If a daemon happens to exist, it is notified when the database changes, but no warning is printed if it doesn't.

-S  When plan starts up, silently start the daemon if it does not exist.

-f  Don't fork on startup. This is useful for debugging.

-k  If there appears to be another plan running, start up anyway. This is useful if a /tmp/.plan<uid> file got accidentally left behind, and plan fails to check whether the older plan still exists. This option is largely obsolete in version 1.2.

  OPTIONS OF PLAN, APPEND MODE

[mmdd]hhmm
    Add an appointment at mm/dd hh:mm (month/day hours:minutes). If mmdd is not specified, today's date is used. No menus will start up. No option may be specified. Instead of the mmddhhmm notation, a date and time may be specified, such as '24.12. 12:34'.

-u U
    add appointment to user file U instead of your own appointment file.

-l T
    Set the length of the new appointment to N, in the form hours:minutes.

-n T
    Set new appointment will have no time associated with it. This overrides the time set with the [mmdd]hhmm option, which must be specified anyway.

-r N
    The new appointment repeats every N days. N is an integer greater than zero.

-d N
    The new appointment repeats on day N of the month. N is an integer between 1 and 31. There can be multiple -d options.

-D N
    The new appointment repeats on weekday N. N=0 indicates Sunday, 1 is Monday, 2 is Tuesday, 3 is Wednesday, 4 is Thursday, 5 is Friday, and 6 is Saturday. There can be multiple -D options.

-O N
    The -D days only repeat the Nth time of the month. May be repeated. For example, "-D 2 -O 2 -O 4" means the 2nd and 4th Tuesdays of each month. -O 6 means the last one.

-e D
    The new appointment stops repeating on date D. D is a string such as

-w N
    Set the early warning time of the new appointment to N minutes.

-W N
    Set the late warning time of the new appointment to N minutes.

[message]*
    The note message associated with the new appointment. It should be quoted if it contains shell metacharacters.

  OPTIONS OF PLAN, BATCH MODE

-h  List available options.

-d  Print fallback X resources and exit. The output can be appended directly to the ~/.Xdefaults file for modification of the geometry, color, and font defaults.

-v  Print the program version and patchlevel and exit.

-W [S]
    Indicates that plan is not called by a user but by the web front-end. In this case, there are no ``own'' appointments because the CGI script that executes plan is probably run by the pseudo-user ``nobody'' or ``httpd''. A dummy user ``webplan'' is substituted instead, whose home directory is assumed to be /tmp. All database files from netplan server S will be read. If S is omitted, ``localhost'' is assumed. This mode is possible only if there is a netplan server running on S (or localhost). This option is also available with -t mode and in non-interactive mode; in this case it determines which files can be listed with -o -t, and which files can be edited.

-F  Print a list of all appointment files found on a given netplan server. By default the server on the local host is queried, unless a -W option specifies another server host.

-H Y
    Print all holidays in the year Y (1970..2037) to stdout and exit. This is used by the web front-end.

-o  If used with -t or -T, also prints appointments of all users configured with the Config->Users popup.

-u L
    If used with -t or -T, prints appointments of all users named in the comma-separated list L. The -o and -u options are mutually exclusive.

-t [D [n]]
    Print a list of today's appointments to stdout. Don't start up interactive windows. The exit status is 0 if there are appointments on the specified date, and 1 otherwise. If a date D is specified, print appointments on that date. All standard date specifiers work:

    -t +3
        Print appointments in three days

    -t -1
        Print yesterday's appointments

    -t tomorrow
        Print appointments for tomorrow

    -t thursday
        Print appointments for Thursday

    -t 25.12.
        Print appointments for Christmas, if 24-hour mode is selected

    -t 12/25
        Print appointments for Christmas, if 12-hour mode is selected. 12/24 hour mode is selected with the Config pulldown in the main window.

    If a second argument n is given, n days are printed beginning with day D. The default is 1. For example, "plan -t today 7" prints one week.

-T [D [n]]
    Same as -t, but print the end time instead of the length (hi Vera).

-i  If used with the -t or -T options, print the data in a form that is easy to parse for other programs. This is used by the web front-end.

-W [S]
    switch to web front-end mode and read the files from the netplan server on host S, or localhost if S is omitted. These files can then be chosen from with -u. See above for details.

  OPTIONS OF PLAND

-d  Debug mode. Runs pland in the foreground without forking, and prints debugging information. Recommended if pland seems to die unexpectedly. (The most common cause of disappearing pland's is a nonfunctional utmp; if -d is used pland recommends to recompile with the -DRABBITS option.) This option must precede the other options.

-l  Periodically check the system utmp to see if the user is still logged in. If not, exit. This is the default on SGI, Sun, and other SYSV systems.

-L  (capital L) Do not check utmp. Use this option if pland dies frequently, and running pland with the -d options reports ``logout, exiting'' for no apparent reason. On many systems utmp is not reliable, and some programs like xterm so not create utmp records unless configured properly. Use -L on such systems.

-k  If another daemon exists, kill it and restart.

-K  (capital K) If another daemon exists, kill it and exit.

  OPTIONS OF NOTIFIER

-h  List available options.

-d  Print fallback X resources and exit. The output can be appended directly to the ~/.Xdefaults file for modification of the geometry, color, and font defaults.

-v  Print the program version and patchlevel and exit.

-1  Set the window background color to green (early warning).

-2  Set the window background color to yellow (late warning).

-3  Set the window background color to red (alarm). This is the default.

-ttitle
    Set the title string above the message text (which is read from stdin).

-ssubtitle
    Set the subtitle string below the main title, in a small font.

-iicontitle
    Set the icon title string that is printed below the mwm/4Dwm icon.

In addition to these options, plan and notifier support the usual X options -iconic and -geometry.

FILES

Below, DIR and LIB refer to the installation directories specified at the beginning of the Makefile when the programs were compiled. By defauly, they are /usr/local/bin and /usr/local/lib, or /usr/freeware/bin and /usr/freeware/lib on SGI, or /usr/bin, /usr/sbin, and /usr/lib/plan on Debian Linux, respectively. These are the directories where plan and pland first search for executables and plan.help (LIB first, then DIR). Next, $PLAN_PATH and $PATH are searched, and finally, a built-in search path that also contains "." as its last item.

~/.dayplan
    Database with all public entries and configuration options of plan. See plan(5) for details.

~/.dayplan.priv
    Database with all private entries.

~/.holiday
    Definition of holidays. See the help text for the "Define Holiday" popup menu that can be installed with the Holiday pulldown.

/tmp/.planUID
    Lockfile that contains the PID of plan. Used to prevent multiple plan instances, and to send HUP signals to if a non-interactive plan invocation changed the database. UID is the user's numerical user ID.

/tmp/.plandUID
    Lockfile that contains the PID of the pland daemon. Used to prevent multiple daemons, and to send HUP signals to if the database changed for any reason. UID is the user's numerical user ID.

DIR/plan
    The plan program.

LIB/pland
    The pland daemon. It must be in the DIR or LIB directory, or in one of the directories in one of the search paths.

LIB/notifier
    The notifier program. It must be in the DIR or LIB directory, or in one of the directories in one of the search paths.

LIB/plan.help
    The online help texts used by plan. It must be in the DIR or LIB directory, or in one of the directories in one of the search paths.

LIB/plan.help.X
    This help file replaces plan.help if the language is set to X in the Config Languages pulldown menu.

LIB/holiday
    Definition of system standard holidays. They are read before ~/.holiday, and can be overridden in ~/.holiday. They must be edited manually with a text editor.

LIB/plan_cal.ps
    A PostScript skeleton file required for month and year calendar printouts.

LIB/plan.lang.english
    The standard message file. All messages used in plan must be listed here in ASCII order. If this file is missing, only English messages are supported.

LIB/plan.lang.X
    The message file for language X. At startup, plan scans the LIB directory and puts every file X it finds into the Config Language pulldown menu. A message is translated by first looking it up in the plan_cal_english file. If the message is found in line n, it is translated by using line n of plan.lang.X instead if X was selected with the Language pulldown. See the Languages item in the online help menu for instructions for creating new language files.

Note that previous versions put all executables into the DIR directory. Beginning with 1.4.7, all executables except plan are in LIB. To avoid finding obsolete executables first, LIB is searched befor DIR. Note that, though netplan(8) supports primitive access control (which requires editing a access list text file on the server host), no support for access control is provided by the plan front-end in this version. Refer to netplan(8) for details.

  SEE ALSO
plan(5), netplan(8)

  AUTHOR
Thomas Driemeyer <thomas@bitrot.de>

Please send all complaints, comments, bug fixes, and porting experiences to me. Always include your plan version as reported by "plan -v" in your mail. To be added to the mailing list, send mail to majordomo@bitrot.de with the line "subscribe plan" (without the quotes) in the message body (not the subject).

See http://www.bitrot.de/plan.html for new releases.