XCALENDAR(1)

NAME
xcalendar - calendar with a notebook for X11

SYNTAX
xcalendar [month [year]]

DESCRIPTION

XCalendar is a simple interactive calendar program with a notebook capability. It is built on the X Toolkit and the Athena Widgets. If the month and year are not provided on the command line the current date is used. To achieve pleasing visual effects you may have to edit the application defaults file - this is described in more detail below.

OPTIONS

The program takes no options. Arguments are the month and year both specified as numbers. The month must be in the range 1-12. The year is optional, any reasonable value is allowed.

USER INTERFACE

Clicking the left mouse button on a day will start a text editor. You can then edit and save text. This text will be associated with the day. You can read and edit this text whenever you open the editor for the same day. The text is saved in a file in the directory $HOME/Calendar. The editor also lets you clear an entry associated with a particular day.

You can highlight all entries in a month by invoking the function ShowEntries. By default this function is called when the left mouse button is pressed in the title window (where the day, month and year are displayed). Pressing the same button again will unhighlight the entries.

Currently, to view another month you have to start another process and specify the month and year on the command line. You can run several xcalendars at the same time. However, it would be nice to be able to scroll or browse through the calendar.

To remove all entries in a particular month you have to use your system's commands. The naming scheme for the files makes it easy; the command:
    rm $HOME/Calendar/xc*sep1991

will remove all entries from September 1991. The facility to do this from the xcalendar should be provided.

One can imagine many other useful features. For example automatic parsing of the current day entry in search for appointments to trigger alarms (reminders) at the approriate time. Well, maybe one day...

RESOURCES

The resource data base lets you alter the visual appearance of the program. You can change fonts, border widths, labels, and other resources used by widgets. One possible use of this facility is to change names of week days and months.

Here are the names of widgets you can use to set various resources:

XCalendar
    class of the application

xcalendar
    top level form

controls
    control panel

quitButton
    quit button

helpButton
    help button

date
    date label

calendar
    calendar frame

daynumbers
    day numbers frame

1-49
    day number buttons

daynames
    day names frame

MON,TUE,WED,THU,FRI,SAT,SUN
    day name buttons

helpWindow
    help window

dayEditor
    editor popup

editorFrame
    editor frame

editorTitle
    editor title

editor
    editor

editorControls
    control panel

doneButton
    done button

saveButton
    save button

clearEntry
    clear entry button

Application specific resources:

reverseVideoMark
    If True entries are highlighted in reverse video. Default: True for black and white, and False for color displays.

setMarkBackground
    If True and reverseVideoMark is False entries are highlighted by setting background to markBackground.

markBackground
    Background color for highlighting entries.

setMarkForeground
    Analogous to setMarkBackground.

markForeground
    Foreground color for highlighting entries.

setMarkBackground and setMarkForeground can take any combination of values.

january,february,..,december
    These resources can be used for changing names of months.

firstDay
    An integer between 1-7, indicating the day to start a week with. Default: 1 (Monday).

markOnStartup
    If True mark the entries upon startup. Default: False.

helpFile
    Full pathname of the xcalendar.hlp file. Default: /usr/lib/X11/xcalendar.hlp.

textBufferSize
    Maximum size of the text buffer in the day editor. Default: 2048.

DEFAULT RESOURCE DATA BASE

There are very few options compiled into the program. The default resource data base in /usr/lib/X11/app-defaults/XCalendar defines the following:
    *input:	True
    *Font:	-*-courier-medium-r-*-*-12-*-*-*-*-*-*-*
    *Background:	Grey69
    *BorderWidth:	2
    *calendar*borderWidth:	0
    *controls*borderWidth:	0
    *date*font:	-*-new century schoolbook-bold-r-*-*-14-*-*-*-*-*-*-*
    *date*borderWidth:	0
    *daynames*font:	-*-courier-bold-r-*-*-12-*-*-*-*-*-*-*
    *daynames*Background:	LimeGreen
    *daynames.SUN*Foreground:	Red
    *daynames.SAT*Foreground:	Sienna
    *daynumbers.7*Foreground:	Red
    *daynumbers.14*Foreground:	Red
    *daynumbers.21*Foreground:	Red
    *daynumbers.28*Foreground:	Red
    *daynumbers.35*Foreground:	Red
    *daynumbers.42*Foreground:	Red
    *daynumbers.6*Foreground:	Sienna
    *daynumbers.13*Foreground:	Sienna
    *daynumbers.20*Foreground:	Sienna
    *daynumbers.27*Foreground:	Sienna
    *daynumbers.34*Foreground:	Sienna
    *daynumbers.41*Foreground:	Sienna
    *controls*helpButton*Background:	LimeGreen
    *controls*helpButton*Foreground:	Blue
    *controls*quitButton*Background:	LimeGreen
    *controls*quitButton*Foreground:	Red
    *daynumbers*Foreground:	Black
    *editorTitle*Background:	LimeGreen
    *editorTitle*Foreground:	Red
    *editorControls*Background:	LimeGreen
    *editorControls*doneButton*Background:	Cyan
    *editorControls*doneButton*Foreground:	Black
    *editorControls*saveButton*Background:	Green
    *editorControls*saveButton*Foreground:	Black
    *editorControls*clearEntry*Background:	Red
    *editorControls*clearEntry*Foreground:	White
    *dayEditor*geometry:	300x150
    *dayEditor*editorTitle*font:	-*-new century schoolbook-bold-r-*-*-14-*-*-*-*-*-*-*
    *dayEditor*editorTitle*Foreground:	Black
    *helpWindow*geometry:	600x350
    *helpWindow*editorTitle*font:	-*-courier-bold-r-*-*-12-*-*-*-*-*-*-*
    *doneButton*Label:	done
    *editorTitle*Label:	Help
    *helpButton*Label:	help
    *quitButton*Label:	quit
    *saveButton*Label:	save
    *markBackground:	Cyan
    *setMarkBackground:	True

FILES

$HOME/Calendar/*

SEE ALSO
xrdb(1), X(1).

BUGS

The save button handler in the editor cannot detect when text is pasted in. As a workaround type something to the editor to activate save button.

AUTHOR

Copyright 1988 by Massachusetts Institute of Technology Roman J. Budzianowski, MIT Project Athena