home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 3
/
CDPDIII.bin
/
pd
/
commodities
/
nag
/
nag.doc
< prev
next >
Wrap
Text File
|
1993-04-02
|
11KB
|
312 lines
----------------------------------------------------------------------------
Nag 1.14
----------------------------------------------------------------------------
The files in this archive were written by David Walthour and are freely
distributable as long as the archive remains intact, and only a nominal fee
is charged for its distribution.
This software is provided "AS IS" without warranty of any kind, either
expressed or implied. By using it, you agree to accept the entire risk as to
the quality and performance of the program.
Comments, suggestions and bug reports are welcome.
David Walthour
55 Sachem Village
W Lebanon, NH 03784 USA
walthour@dartmouth.edu
Intro
-----
Nag is a scheduler/reminder commodity written for OS 2.04. It is designed
keep track of an unlimited number of events and, at the time of the event,
flash the screen and display a requester to remind you of it. It can be
configured to display a reminder for an event occuring only once or for
events that occur on a weekly basis. Currently Nag cannot handle semi-
weekly, monthly, or yearly events.
New features for v1.14
----------------------
Nag v1.13 now can handle pattern matching in the date format of the event entry.
This allows the definition of events which will happen on a monthly or yearly
basis as well as on more complicated schedules. The wildcard character is
'?' and can be used in place of the year, month, or day field or any
combination of those fields. For example, these are now valid entries:
8:00am 4/1/? April Fools Day!
12:00am 1/1/? Happy New Years!
9:30pm ?/31/? This is the 31st of the month
[Note: the above will only occur on months with 31 days in them]
1:30pm 6/?/? Its a beautiful afternoon in June!
1:30pm 6/?/93 Its a beautiful afternoon in June of 1993!
5:00pm ?/?/? Its five o'clock
Installation
------------
Two versions of Nag are included in this archive: the regular version (Nag)
and a version compiled for the 68030 processor (Nag.030).
Nag can be executed from the cli or from the Workbench and accepts the
three standard commodity tool types:
CX_PRIORITY (Default = 0)
CX_POPUP (Default = YES)
CX_POPKEY (Default = CTRL ALT N)
Nag also has three tool types to control its date format and "nag later"
delay:
DATE_FORMAT This can be set to either DAY_FIRST or MONTH_FIRST
depending on your preference. It defaults to
MONTH_FIRST
DATE_DIVIDER This can be set to:
SLASH for the date divider to be '/' (i.e., 3/25/93)
DASH for the date divider to be '-' (i.e., 3-25-93)
DOT for the date divider to be '.' (i.e., 3.25.93)
It defaults to SLASH
NAG_LATER_DELAY This is set to the number of minutes that Nag should delay
before redisplaying the message when the "Nag in X min"
button is chosen from the event requester. It defaults
to 5 minutes.
The best place to install Nag is in your WBStartup drawer with the tool
type DONOTWAIT. It can also be placed in your user-startup script.
Using Nag
---------
When Nag's user interface is displayed, the window will contain a list of
all events that Nag is currently remembering along with four other buttons:
New, Del, Hide, and Quit. Clicking on an event in the listview
gadget (the list) will move this event into the string gadget (which is
below the list) and will allow this event to be edited. This will also
enable the Del button. When you are done editing an event, pressing return
will reenter the event into the list.
The functions of the buttons are as follows:
New: This button turns on and clears the string gadget at the bottom of
the listview gadget and allows the user to enter a new event to
remember. Pressing return causes the event to entered into the
list.
Del: This button will delete the event currently being edited in from the
list of remembered events.
Hide: This button will cause the user interface window to dissappear. It
can be made to reappear by either pressing Nag's hotkey combination
or by using C='s commodities exchange program.
Quit: This button quits Nag and removes it from the OS commodities list.
The Hide and Quit functions can also be accessed from the pull-down
menus.
Entering an Event
-----------------
The syntax for an event takes one of two forms:
<hh:mm>[AM|PM] <mm/dd/yy> <message>
or
<hh:mm>[AM|PM] <day of week> <message>
where:
<hh:mm>[AM|PM] is the time at which the event takes place in hours and
minutes. The AM or PM is optional. If they are not
included, the time is assumed to be in 24-hour format.
hh = the hour of the event (either 0-23 or 1-12 depending
if the AM|PM is present)
mm = the minute of the event (0-59)
<mm/dd/yy> is the date of the event. Note that by using the tool types
described above, this format can be changed in a number of
ways. All possible formats are: <mm/dd/yy>, <dd/mm/yy>,
<mm-dd-yy>, <dd-mm-yy>, <mm.dd.yy>, and <dd.mm.yy>
where:
mm = the number of the month (1-12)
dd = the day of the month
yy = the last two digits of the year
Any of these three fields can be replaced by the wildcard
symbol '?'. The next date which matches the specified
pattern will be the date of the event.
<day of week> is the day(s) of the week that the event takes place on.
Each day is given a one character abbreviation as follows:
M = Monday
T = Tuesday
W = Wednesday
H = Thursday
F = Friday
S = Saturday
U = Sunday
More than one day can be entered for an event, e.g., MWF
would indicate that this event takes place on Mondays
Wednesdays and Fridays, SU would indicate that this event
occurs on the weekends, etc.
<message> is the text that will be displayed in the requester when
the event occurs.
Spaces are ignored and the abbreviations are not case sensitive.
As the events are entered they will be sorted into order of occurance with
the events that will occur first at the top of the list. If an event has
already passed and will not be occuring again, it appears at the bottom
of the list with an asterisk (*) preceding it. If Nag was unable to
understand the event you have typed, it appears at the bottom of the list
with a number sign (#) preceding it.
Examples
--------
For instance, if you have a class on Tuesdays and Thursdays at 2:00 and you
would like to be notified 10 minutes prior to this, you would enter:
1:50pm TH Time to go to class
or
13:50 TH Time to go to class
Other examples might be:
7:00pm 4/28/93 Call Mom for her Birthday!
12:00PM MtWHf Lunchtime
0:30 MTWHFSU Its 30 minutes past midnight
8:00am 4/1/? April Fools Day!
12:00am 1/1/? Happy New Years!
9:30pm ?/31/? This is the 31st of the month
[Note: the above will only occur on months with 31 days in them]
1:30pm 6/?/? Its a beautiful afternoon in June!
1:30pm 6/?/93 Its a beautiful afternoon in June of 1993!
5:00pm ?/?/? Its five o'clock
Planned Improvements
--------------------
- GUI for entering the date and time of an event
- Ability to post an advance notice requester for an event.
- capability to handle events which are semi-weekly, etc.
Known Bugs
----------
Occasionally my system has crashed when I quit from Nag with a "Memory List
Corrupt" error. This has happened VERY infrequently and with such
randomness that I can't yet locate the error and am not even sure that it is
a problem with Nag. The program IS ENTIRELY STABLE when running and since
it is designed such that it SHOULD always be running, this shouldn't be a
problem. However, if you do come across this bug, I would appreciate
any info you can give me about the occurance (programs that were also
installed when Nag was running, etc.)
History
-------
v1.00 3/10/93, 16268 bytes
o First release including source code.
v1.01 3/11/93 16264 bytes
o Fixed an enforcer hit that got by me.
v1.1 3/25/93 18428 bytes
o Many bugs fixed and new features added:
- The gui is now font sensitive based on the system default font
- Nag keeps track of events that have passed since it was last active and
reports these upon startup. A consequence of this is that Nag
automatically saves the events and the 'Save' button and menu option
have been removed
- Nag is now more compliant with the C= style guide
- Nag has new tool types DATE_FORMAT and DATE_DIVIDER to set the format for
the date input
- Nag has a "nag later" option when the event requester appears so that you
can have it nag you again in a number of minutes specified by the
NAG_LATER_DELAY tool type
- The string gadget no longer loses its contents when an event occurs
- The leading '#' or '*' is deleted before editing any events which have
these symbols as their first characters
- Lots of other bugs fixed
v1.11a 3/26/93 18564 bytes
o Fixed a few enforcer hits that I missed
o Changed the gui so that it uses the screen font rather than the system
default font
v1.12a 3/28/93 19176 bytes
o Fixed problem which caused Arq v1.78 to crash when used with Nag v1.11.
It seems that Arq can't be called from a task, it must be called from a
process. Thanks to John Palfrey for pointing this out!
o Added requesters to display any internal errors which cause the program
to fail. Thanks to Martin Ozolins for this suggestion.
v1.13 3/31/93 19968 bytes
o Fixed bug in month rollover for events specified by day.
o Fixed code so that if events which occur while a requester is up, they
will be displayed after responding to the requester.
o Nag now handles dates past 1999 correctly
o Fixed other small bugs.
o Added date wildcard feature so that events can be set to occur monthly or
yearly (as well as in other combinations).
v1.14 4/1/93 19988 bytes
o Fixed mistake which caused the reporting of messages at startup to
disappear.
o Fixed bug which caused trouble in listview gadget for OS 3.0
o Fixed small bug with tool types which caused problems with OS 2.04
(2.04 doesn't allow 'ctrl' as an abbreviation for 'control')