.TH xcalendar "" "" "X Application"
.PC "Calendar with a notebook"
\fBxcalendar [\fImonth \fB[\fIyear\^\fB] ]\fR
.PP
.B xcalendar
is a simple interactive calendar program with a notebook
capability.
It is built on the X Toolkit and the Athena Widgets.
.PP
.B xcalendar
recognizes all of the standard Xt command-line options.
In addition, you can specify the
.I month
and
.I year
to display.
If you do not specify them, the program assumes that you want to see the
calendar for the present month.
.SH Interactions
Clicking the left-mouse button on a day will start a text editor.
You can edit and save a text.
This text will be associated with the day.
Later, you can read and edit this text when you open the editor
for the same day.
.PP
.B xcalendar
saves text for a given day within a file in directory
.BR $HOME/Calendar .
Files have the prefix
.BR xc ,
followed by the day, the month, and the year.
For example,
.B xcalendar
keeps your notes for January 31, 1994, in file
.BR $HOME/Calendar/xc31Jan1994 .
.PP
The editor lets you also clear an entry associated with a particular day.
You can also scroll through days while in the editor
by clicking on the arrows on either side of the date label.
If you scroll to an already-open day,
.B xcalendar
displays an appropriate message and brings up the editor
in read-only mode.
.PP
You can also scroll through months in the main window.
To do so, click on the arrows on either side of the current-date label.
.PP
You can highlight all entries in a month by invoking
the function
.BR ShowEntries .
By default, this function is called when
the left-mouse button is pressed in the
title window (where month and a year are displayed).
Again pressing the same button un-highlights the entries.
.PP
To remove all entries in a particular month,
you use use the command
.B rm
to remove all files for that month.
For example, to remove all notes for January 1994,
use the command:
.DM
	rm $HOME/Calendar/xc*Jan1994
.DE
.PP
It probably is a good idea for you to purge this directory
from time to time.
.SH Resources
The resource data base lets you alter the visual appearance
of the program.
You can change fonts, border widths, labels,
and other resources that widgets use.
One use of this facility is
to change names of weekdays and months.
.PP
Here are the names of widgets you can use to set 
various resources: 
.nf
.sp \n(pDu
.ta 2.5i
.tc . 0.1i
\fBXCalendar\fR	Class of the application
\fBxcalendar\fR	Top level pane
\fBcontrols\fR	Control panel
\fBquitButton\fR	Quit button
\fBhelpButton\fR	Help button
\fBdate\fR	Date label
\fBcalendar\fR	Calendar pane
\fBdaynumbers\fR	Day numbers frame
\fB1-49\fR	Day-number buttons
\fBdaynames\fR	Day names frame
\fBMON\fR	Day-name button
\fBTUE\fR	Day-name button
\fBWED\fR	Day-name button
\fBTHU\fR	Day-name button
\fBFRI\fR	Day-name button
\fBSAT\fR	Day-name button
\fBSUN\fR	Day-name button
\fBhelpWindow\fR	Help window
\fBbcontrols\fR	Month buttons' frame
\fBprev\fR	Previous-month button
\fBsucc\fR	Succeeding-month button
\fBcdate\fR	Current date widget
\fBdayEditor\fR	Editor pop-up window
\fBeditorFrame\fR	Editor frame
\fBeditorTitle\fR	Editor title
\fBeditor\fR	Editor
\fBdaybuttons\fR	Day buttons' frame
\fBprevday\fR	Previous-day button
\fBsuccday\fR	Succeeding-day button
\fBeditorControls\fR	Control panel
\fBdoneButton\fR	Done button
\fBsaveButton\fR	Save button
\fBclearEntry\fR	Clear-entry button
.fi
.PP
The following describes the resources specific to
.BR xcalendar :
.IP \fBreverseVideoMark\fR
If this resource is
.BR True ,
.B xcalendar
highlights the entries in reverse video.
The default is
.B True
for monochrome servers and
.B False
for color.
.IP \fBsetMarkBackground\fR
If this resource is
.B True
and resource
.B reverseVideoMark
is set to
.BR False ,
the entries are highlighted by setting background to 
.BR markBackground .
.IP \fBmarkBackground\fR
The background color for highlighting entries.
.IP \fBsetMarkForeground\fR
This is analogous to
.BR setMarkBackground .
.IP \fBmarkForeground\fR
Foreground color for highlighted entries.
.B setMarkBackground
and
.B setMarkForeground
can take any combination of values.
.IP \fBjanuary\fR
.IS \fBfebruary\fR
.IS \fBmarch\fR
.IS \fBapril\fR
.IS \fBmay\fR
.IS \fBjune\fR
.IS \fBjuly\fR
.IS \fBaugust\fR
.IS \fBseptember\fR
.IS \fBoctober\fR
.IS \fBnovember\fR
.IS \fBdecember\fR
These resources name the months of the year.
Use these resources to use other names, should you wish.
.IP \fBfirstDay\fR
This resource sets the first day of the week \(em that is, the day of the
week that appear in the leftmost column of the calendar.
The days are numbered one (Monday) through seven (Sunday); the default is
seven.
.IP \fBmarkOnStartup\fR
If this resource is set to
.BR True ,
.B xcalendar
marks the entries upon startup.
The default is
.BR False .
.IP \fBhelpFile\fR
This resource gives the full path name of file
.BR xcalendar.hlp .
The default is
.BR /usr/X11/lib/xcalendar.hlp .
.IP \fBtextBufferSize\fR
This gives the size of the text buffer in the day editor.
The default is 2,048 bytes.
.PP
For a listing of
.BR xcalendar 's
default resource data base, see file
.BR /usr/X11/lib/app-defaults/XCalendar .
.SH "See Also"
.B
X applications,
xrdb
.R
.br
\*(CO Lexicon:
.B
calendar
.R
.SH Notes
.B xcalendar
does not include all of the features of the \*(CO command
.BR calendar .
It does not read file
.BR $HOME/.calendar ;
nor does it trigger alarms or display reminders for a given day's
appointments.
.PP
The save-button handler in the editor cannot detect when a text
is pasted.
At present, the workaround is to type something into the editor to activate
save button.
.PP
Copyright \(co 1988 by Massachusetts Institute of Technology.
Copyright \(co 1990 by Purdue University.
Copyright \(co 1988 by Roman J. Budzianowski.
Copyright \(co 1990 by Richard Bingle.
.PP
.II "Budzianowski, Roman"
.II "Bingle, Richard"
.II "Chaney, Beth"
.B xcalendar
was originally written by Roman J. Budzianowski, of MIT Project Athena.
The current version contains considerable extensions by
Richard Bingle, Department of Computer Science, Purdue University,
and enhancements by Beth Chaney, Department of Computer Science,
Purdue University.
