home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d9xx / d945 / reminder.lha / Reminder / Reminder.doc < prev    next >
Text File  |  1993-12-20  |  27KB  |  776 lines

  1.              REMINDER 1.20 DOCUMENTATION
  2.              ---------------------------
  3.  
  4.                by Matti Rintala
  5.                 April 19, 1993
  6.  
  7.                    Abstract
  8.  
  9.     This document describes the usage of Reminder and ReminderCheck
  10. programs.  Both programs and the source code are copyright 1993 Matti
  11. Rintala.  They can be distributed freely however, see section
  12. Distribution below.
  13.  
  14.               Table of Contents:
  15.               ------------------
  16.  
  17.     Copyright and Distribution
  18.     How to avoid reading this manual
  19.     What is Reminder and why?
  20.     System requirements
  21.     How to Contact the author
  22.     Installing Reminder and ReminderCheck
  23.     Reminder
  24.     ReminderCheck
  25.     Source Code
  26.     Final words and Acknowledgements
  27.  
  28.  
  29.  
  30.  
  31.  
  32.               COPYRIGHT AND DISTRIBUTION
  33.  
  34. Reminder and ReminderCheck are (C) 1993 Matti Rintala (This section is
  35. modified from the similar section of ToolManager 2.0 by Stefan Becker.
  36. I hope you don't mind, Stefan!)
  37.  
  38. Permission is granted to make and distribute verbatim copies of this
  39. manual provided the copyright notice and this permission notice are
  40. preserved on all copies.
  41.  
  42. No guarantee of any kind is given that the programs described in this
  43. document are 100 % reliable. You are using this material at your own
  44. risk. The author CAN NOT be made responsible for any damage which is
  45. caused by using these programs.
  46.  
  47. This package is freely distributable, but still copyright by Matti
  48. Rintala. This means that you can copy it freely as long as you don't
  49. ask for a more than nominal copying fee.
  50.  
  51. Permission is granted to include this package in Public-Domain
  52. collections, especially in Fred Fishs Amiga Disk Library (including CD
  53. ROM versions of it). The distribution file may be uploaded to Bulletin
  54. Board Systems or FTP servers. If you want to distribute this program
  55. you MUST use the contents of the original distribution archive
  56. `Reminder-1.20.lha'. The archive may be distributed unpacked or packed
  57. with a different archiver, if necessary.
  58.  
  59. None of the programs nor the source code (nor parts of it) may be
  60. included or used in commercial programs unless by written permission
  61. from the author.
  62.  
  63. NONE of the programs NOR the source code (nor parts of it) may be used
  64. on any machine which is used for the research, development,
  65. construction, testing or production of weapons or other military
  66. applications. This also includes any machine which is used for
  67. training persons for ANY of the above mentioned purposes. The same
  68. goes for unnecessary animal testing.
  69.  
  70. You may modify the source code as you wish, provided that my name
  71. still exists there and you add a comment to the code explaining that
  72. the source is modified. If you think the change you made is useful,
  73. send it to me so that it can be included in the next official version
  74. (I promise to mention your name in the docs). PLEASE DO NOT DISTRIBUTE
  75. MODIFIED VERSIONS OF REMINDER AND REMINDERCHECK YOURSELF, AS THIS ONLY
  76. CREATES CONFLICTING VERSION NUMBERS ETC!
  77.  
  78.  
  79.  
  80.  
  81.            HOW TO AVOID READING THIS MANUAL
  82.  
  83. Read QuickRef.doc. Try programs. Experiment. Guess.
  84.  
  85.  
  86.  
  87.  
  88.               WHAT IS REMINDER AND WHY?
  89.  
  90. For some time I have been searching for a program which would remind
  91. me of important events like birthdays, days when rent has to be paid
  92. etc. There are already several PD or shareware programs like
  93. CyberCron, which do mostly what I want - but they stay in the memory
  94. as background tasks and consume precious RAM.
  95.  
  96. Then I tried MemoMaster which could be made to run once in startup,
  97. but its 1.3-like user interface and certain other features (for
  98. example, the lack of monthly events) made it unsuitable for me.
  99.  
  100. After that I sighed and wrote Reminder. The system consists of two
  101. programs. Reminder is for entering your events to a database file, and
  102. ReminderCheck is put into your WBStartup, where it is run every time
  103. you boot and reminds you about the events and then quits.
  104.  
  105. Both programs use the excellent ReqTools.library ((C) Nico François),
  106. and the user interface of Reminder was created with GadToolsBox ((C)
  107. Jan van den Baard). The binaries in this distribution were compiled
  108. with SAS/C6.2 ((C) SAS Institute Inc.) with optimization on, but the
  109. source files can be compiled with DICE ((C) Matthew Dillon) also.
  110.  
  111.  
  112.  
  113.              SYSTEM REQUIREMENTS
  114.  
  115. Reminder and ReminderCheck require at least AmigaDOS 2.x and
  116. ReqTools.library (A copy of the library is inluded in this
  117. distribution). They were developed and have been tested on Amiga 2000
  118. with GVP G-Force 68030/25MHz, 1 MB Chip and 5 MB Fast running AmigaDOS
  119. 2.04.  They worked also with the G-Force turned off (i.e. normal Amiga
  120. 2000 with 1 MB Chip and no Fast). There is no reason why they
  121. shouldn't run on any Amiga with at least 2.x, however.
  122.  
  123.  
  124.  
  125.               HOW TO CONTACT THE AUTHOR
  126.  
  127. First, if you are using Reminder, please send me e-mail, a postcard,
  128. Amiga 4000 or whatever. I'm interested in knowing that someone else is
  129. using Reminder, too. The feedback may also encourage me to make
  130. improvements etc, so all suggestions are wellcome.
  131.  
  132. The best way to contact me is via e-mail. My mail address is
  133.  
  134. bitti@cs.tut.fi
  135.  
  136. The postcards and the A4000 should go to address
  137.  
  138. Matti Rintala
  139. Pyykkiojankatu 2 C 24
  140. 33710  TAMPERE
  141. FINLAND
  142.  
  143.  
  144.  
  145.         INSTALLING REMINDER AND REMINDERCHECK
  146.  
  147. Reminder and ReminderCheck can be installed from both Workbench or shell.
  148.  
  149.               Installing from Workbench
  150.  
  151. Reminder V1.20 has an Installer (© Commodore-Amiga, Inc) script which
  152. takes care of the whole installation. If you don't have Installer,
  153. Commodore has made it freely available, so it should be found on many
  154. ftp sites. If you can't find it, then you'll have to install Reminder
  155. from shell.
  156.  
  157. Make sure Installer is in the AmigaDOS path (``C:'' is where I have
  158. it), then double click on the ``Install-Reminder'' icon. The script
  159. installs Reminder and ReminderCheck, ReqTools.library (Only if the
  160. version coming with this distribution is newer than yours),
  161. documentation and ARexx examples, asking you for confirmation if you
  162. don't select the Novice user level.
  163.  
  164.  
  165.             Installing from shell
  166.  
  167. Recommended way to install Reminder from shell is to use Installer,
  168. i.e. to cd in the directory where you unpacked this distribution and
  169. then say
  170.  
  171. Installer Install-Reminder
  172.  
  173. If you don't have Installer, however, read further.
  174.  
  175. First, cd into the directory where Reminder is. If you know that the
  176. ReqTools.library coming with this distribution is newer than yours
  177. (You can always check with Version command.} or you don't have
  178. ReqTools.library, copy it to correct place with
  179.  
  180. copy ReqTools.library LIBS:
  181.  
  182. It is recommended that you always get the whole ReqTools distribution,
  183. however. It can be found on Fish-disks and on most ftp sites.
  184.  
  185. Then copy the executables to appropriate places with
  186.  
  187. copy Reminder Reminder.info your_directory
  188. copy ReminderCheck ReminderCheck.info SYS:WBStartup
  189.  
  190. Finally copy the documentation and ARexx example files to appropriate
  191. places.
  192.  
  193.  
  194.  
  195.                    REMINDER
  196.  
  197. With Reminder you enter the events you want to be reminded about to
  198. the database  which ReminderCheck reads on every boot.
  199.  
  200.  
  201.  
  202.                Workbench usage
  203.  
  204. Reminder can be started from Workbench simply by double clicking its
  205. icon. In the icon you can define the database file (Default name is
  206. ``S:Reminder.data''.) used by Reminder with tooltype
  207.  
  208. FILE=filename
  209.  
  210.  
  211.  
  212.                  Shell usage
  213.  
  214. Reminder can be started from shell simply by typing Reminder and
  215. pressing Enter. You can also type ``FILE=filename'' as a command line
  216. argument to specify the database file (Default name is
  217. ``S:Reminder.data'') to be used.
  218.  
  219.  
  220.  
  221.              Entering and Editing Events
  222.  
  223. After starting Reminder a window opens, presenting a list of existing
  224. events and gadgets needed to add and edit events.
  225.  
  226. The events are sorted in chronological order, repeating events in
  227. order they occur next (this is new in V1.10). Clicking on an event in
  228. event list copies information for that event to appropriate gadgets,
  229. in which you can edit them (don't forget to Update the event
  230. after editing).
  231.  
  232. If you have edited the information in the gadgets and try to perform
  233. an action which would make you lose the information (you click on
  234. event in event list, or click New, Quit, no save or Quit and save),
  235. Reminder asks you to confirm that you wish to abandon the current
  236. values of gagdets.
  237.  
  238. Use Add to add the event in gadgets to event list.
  239.  
  240. Click on event, edit it and then click Update to update event data.
  241.  
  242. Click on event and click Remove to remove event.
  243.  
  244. Click on New to clear the gadgets to default values.
  245.  
  246.  
  247.  
  248.  
  249.                The Date Gadgets
  250.  
  251. The date of an event consists of the Day-gadget, Month-gadget,
  252. Year-gadget and Weekday-gadget. Leaving any of these gadgets empty
  253. (Month-gadget and Weekday-gadget show ANY instead of empty gadget)
  254. means that any value is acceptable. This way you can enter repeating
  255. events. Weekday-gadget is different from other gadgets, however.
  256. SELECTING A WEEKDAY INTO Weekday-gadget MEANS THAT THE EVENT IS DUE ON
  257. THE NEXT SPECIFIED WEEKDAY ON OR AFTER THE DATE SELECTED (on the same
  258. month, however).
  259.  
  260. The text gadget above Day-gadget is a read-only gadget telling
  261. the weekday of non-repeating exact events (i.e. events with Day-gadget,
  262. Month-gadget and Year-gadget set to specific values and Weekday-gadget as
  263. ``ANY''). I myself have very little use for this gadget, but I was
  264. requested it. The event list shows the weekday of non-repeating exact
  265. events, also. There is a colon after the weekday indicating that the
  266. weekday is not entered by you, but calculated by Reminder.
  267.  
  268. A few examples should clarify the usage of date gadgets.
  269.  
  270. - Entering 22 to Day-gadget, March to Month-gadget, 1993 to
  271. Year-gadget and ANY to Weekday-gadget means that the event is on March
  272. 22, 1993.
  273.  
  274. - Entering 22 to Day-gadget, March to Month-gadget, empty to
  275. Year-gadget and ANY to Weekday-gadget means that the event is on March
  276. 22, every year.
  277.  
  278. - Entering 1 to Day-gadget, empty to Month-gadget, 1993 to Year-gadget
  279. and Thursday to Weekday-gadget means that the event is on first
  280. Thursday (Actually first Thursday on or after the first day of the
  281. month, which is the same thing.) of every month on year 1993.
  282.  
  283. - Entering 8 to Day-gadget, empty to Month-gadget, empty to
  284. Year-gadget and Monday to Weekday-gadget means that the event is on
  285. second Monday (The first Monday is always before the 8. day of the
  286. month and the second can't be before the 8. day.) of every month,
  287. every year.
  288.  
  289.  
  290.  
  291. Day-gadget accepts all numbers from 1 to 31, empty gadget representing
  292. `any day'.
  293.  
  294.  
  295.  
  296. You can select a month into Month-gadget from the list above it. You
  297. can of course enter the month by hand, too. In this case Reminder
  298. selects the first month starting with the letters you entered (I.e.
  299. entering `ap' would select April).  Entering the month this way is
  300. case-insensitive. You can also enter into the gadget just the number
  301. of the month (I.e. entering 10 would select October).  Leaving the
  302. gadget empty (or entering or selecting ANY) means `any month'.
  303.  
  304.  
  305.  
  306. Year-gadget accepts all numbers from 1993 to 2099 (Upper limit is just
  307. to make you notice stupid typos like 2993.). You can also enter a
  308. number from 93 to 99 to represent years 1993 - 1999 or a number from 0
  309. to 92 to represent years 2000 - 2092. Leaving the gadget empty means
  310. `any year'.
  311.  
  312.  
  313.  
  314. You can enter a value to Weekday-gadget by selecting a weekday from
  315. the list above the gadget. Selecting ANY means `any weekday'.
  316.  
  317. NOTE THAT SELECTING A WEEKDAY MEANS THAT THE EVENT IS DUE ON THE NEXT
  318. CORRECT WEEKDAY ON OR AFTER THE DATE SPECIFIED WITH OTHER DATE
  319. GADGETS. (See examples in The Date Gadgets).
  320.  
  321.  
  322.  
  323.              The Before and After Gadgets
  324.  
  325. With these gadgets you can select how long before the event
  326. ReminderCheck starts reminding you about it, and how long after the
  327. event ReminderCheck should still remind about it, if you haven't
  328. acknowledged the event before that.
  329.  
  330. Before-gadget accepts any value from 1 to 365, defining how many days
  331. before the event ReminderCheck should start reminding. Leaving the
  332. gadget empty means that reminding should start on the day the event is
  333. due.
  334.  
  335. After-gadget accepts any value from 1 to 365, defining how many days
  336. after the event ReminderCheck should still remind about it if the
  337. event has not been acknowledged. Leaving the gadget empty means that
  338. reminding should stop after the day the event is due.
  339.  
  340.  
  341.  
  342.           Automatic Deletion of Acknowledged Events
  343.  
  344. If you check the `Delete when...'-gadget, ReminderCheck automatically
  345. deletes the events you acknowledge. If you leave this gadget
  346. unchecked, events are not deleted unless you remove them yourself with
  347. Reminder.
  348.  
  349. NOTE THAT USING THE AUTOMATIC DELETION WITH REPEATING EVENTS IS NOT
  350. USUALLY WISE AS THE EVENT IS DELETED AFTER THE FIRST ACKNOWLEDGEMENT
  351. OF THE EVENT!
  352.  
  353.  
  354.                 Grouped Events
  355.  
  356. If you mark the event grouped (This feature was introduced in Reminder
  357. V1.20) with `Grouped'-gadget, ReminderCheck will put it into the same
  358. requester with all other grouped events that are due on that specific
  359. day.
  360.  
  361. Note that if you want to be reminded about your event two days before
  362. the actual day, those remindings will be done in normal fashion. The
  363. event will be put into the group requester ONLY on the day it is due,
  364. no earlier or later.
  365.  
  366. Grouping is a handy way to handle minor ``notifications'', which you
  367. always acknowledge immediately when they are first reminded about.
  368.  
  369.  
  370.  
  371.                   Event Text
  372.  
  373. Into Text-gadget you should write the text you want to appear in the
  374. reminding requester. The maximum length of the text is 80 characters.
  375.  
  376.  
  377.  
  378.                   Event List
  379.  
  380. The listview gadget in the upper left corner shows all events
  381. currently in the event database. The list shows the weekday and date
  382. of the event (or stars for `wildcards') and the beginning of the event
  383. text. If your event is an non-repeating exact event (Day-gadget,
  384. Month-gadget and Year-gadget have all values and Weekday-gadget is
  385. ``ANY''), the event list shows the calculated weekday of the event
  386. (This feature was introduced in Reminder V1.10) plus a colon to tell
  387. you that the weekday was calculated, not entered by you. I.e. if the
  388. event list shows ``Thu:01-Apr-1993 Test'', it means that you haven't
  389. requested a specific weekday, but first of April happens to be
  390. Thursday. ``Sun 01-Apr-1993 Test2'' tells, on the other hand, that
  391. your event is due on the first Sunday on or after first of April.
  392.  
  393. The events in the event list are sorted in chronological order (This
  394. feature was introduced in Reminder V1.10). The chronological order of
  395. repeating events is simply the order in which they will occur next
  396. time.
  397.  
  398.  
  399.  
  400.               Adding New Events
  401.  
  402. Adding new events is easy. Just enter the event parameters using the
  403. gadgets described above and click Add-gadget. The event appears in the
  404. event list.
  405.  
  406.  
  407.  
  408.                Removing Events
  409.  
  410. Removing events is even easier. Select the event from the event list
  411. and click Remove-gadget. The event is removed from the event list and
  412. from the database.
  413.  
  414.  
  415.  
  416.          Updating Existing Event Information
  417.  
  418. With Update-gadget you can change parameters of existing events. Just
  419. select the event from the event list. All event gadgets now show the
  420. values for that event. Update any gadgets you want and then click
  421. Update-gadget.  The event is now updated and the event list also shows
  422. the updated event information.
  423.  
  424.  
  425.  
  426.               Quitting Reminder
  427.  
  428. There are three ways to quit Reminder:
  429.  
  430. - Click `Quit and save'-gadget. The changes to the event database are
  431. saved and Reminder terminates.
  432.  
  433. - Click `Quit, no save'-gadget. If the database has been changed, you
  434. are first asked whether you really want to exit Reminder without
  435. saving the changes.  If you answer Yes, the changes are lost,
  436. otherwise you are returned to Reminder.
  437.  
  438. - Click the close gadget of Reminder window. If the database has been
  439. changed, you are asked whether you want to save the changes. If you
  440. answer Yes, the changes are saved, otherwise they are lost.  Reminder
  441. then terminates.
  442.  
  443.  
  444.  
  445.                 ARexx Gadgets
  446.  
  447. ReminderCheck V1.20 is capable of launching ARexx scripts and commands
  448. with every event.
  449.  
  450. With the radio buttons in the ARexx box (``Nothing'', ``Script'' and
  451. ``Command'') you can select the type of ARexx action associated with
  452. current event.
  453.  
  454. ``Nothing'' naturally means no ARexx action at all.
  455.  
  456. ``Script'' means that ReminderCheck is to start the given ARexx script
  457. when the event is due (the requester pops up, as usual, too). The name
  458. of the script (and parameters) should be entered to the
  459. Comm/Script-gadget. The script gets the date of the event and the
  460. event text (both enclosed in double quotes) as its last two parameters
  461. (i.e. after the parameters specified in the gadget). This way, if you
  462. use Upd (© Jonas Pettersson) like I do, you can easily create a script
  463. which uses narrator to speak the event text. Such script is included
  464. as an example. Upd itself is not provided, however. It is available
  465. via ftp. Another example provided can be used to play an audio sample
  466. (with Upd, again).
  467.  
  468. ``Command'' tells ReminderCheck to send the command given in
  469. Comm/Script-gadget to ARexx port specified in Port-gadget. This time
  470. no extra arguments are added.
  471.  
  472. NOTE: At the moment maximum length of text in Comm/Script-gadget is 28
  473. characters, and maximum length of ARexx port in Port-gadget name is 10
  474. characters.  These values are far too small, but it was the only way
  475. to keep the database file format compatible, so that Reminder V1.00
  476. database files can be used directly with V1.20. This will change in
  477. V1.30 (the release time of which depends on the feedback I get).
  478.  
  479.  
  480.  
  481.  
  482.               Keyboard shortcuts
  483.  
  484. Reminder can be used with keyboard only, too. Most of the gadgets have
  485. underlined characters, which activate the gadget (you don't have to
  486. press Alt or Amiga keys or anything).
  487.  
  488. With event list and Weekday-gadget, pressing the key without shift-key selects
  489. next entry, pressing with shift-key selects previous entry.
  490.  
  491. There are two extra features:
  492.  
  493. - Weekday-gadget can also be selected with number keys 0 - 7. 0 means
  494. ANY, 1 is Monday etc.
  495.  
  496. - Events may be selected from the event list using the cursor-up and
  497. cursor-down keys.
  498.  
  499.  
  500.  
  501.                 REMINDERCHECK
  502.  
  503. ReminderCheck should be placed into your WBStartup drawer or called
  504. form your s:user-startup. It checks events entered with Reminder
  505. on every boot (although you can set the minimum interval) and reminds
  506. you about the events which are due.
  507.  
  508.  
  509.  
  510.                Workbench usage
  511.  
  512. ReminderCheck can be started from Workbench simply by double clicking
  513. its icon. In the icon you can define the database file (Default name
  514. is ``S:Reminder.data''.) used by ReminderCheck with tooltype
  515.  
  516. FILE=filename
  517.  
  518. You can set the minimum time that has to pass before ReminderCheck
  519. reminds you again (I added this feature because I happen to boot my
  520. machine quite often.). Default is to remind every time ReminderCheck
  521. is run. The interval is set with tooltype
  522.  
  523. INTERVAL=minimum # of hours between two remindings
  524.  
  525. For example, if you set INTERVAL=3, run ReminderCheck and it reminds
  526. you, then running ReminderCheck again within next three hours does
  527. nothing.
  528.  
  529. If you do not use ReminderCheck's ability to run ARexx scripts and
  530. commands, you may not want ReminderCheck to open RexxSysLib.library at
  531. all. In that case include tooltype
  532.  
  533. NOAREXX
  534.  
  535. Some people run ReminderCheck from their user-startup so early that
  536. Workbench screen hasn't been opened yet. In that case ReqTools.library
  537. can't open its requesters. ReminderCheck uses Intuition's standard
  538. EasyRequest requester, if you include tooltype
  539.  
  540. NOREQTOOLS
  541.  
  542. You can specify the maximum number of events in a group requester with
  543. tooltype
  544.  
  545. MAXGROUP=maximum # of events in one group requester
  546.  
  547. The default value is 4. The value should be small enough so that the
  548. requester will fit the screen.
  549.  
  550. In a similar way you can specify the maximum width of line in
  551. requesters with tooltype
  552.  
  553. MAXWIDTH=maximum # of characters per line in requester
  554.  
  555. The default value is 30, and it can't be under 19 (because that's the
  556. length of the date string).
  557.  
  558. If you use ReminderCheck in your SYS:WBStartup, you should include
  559. tooltype
  560.  
  561. DONOTWAIT
  562.  
  563.  
  564.  
  565.                  Shell usage
  566.  
  567. ReminderCheck can be started from shell simply by typing ReminderCheck
  568. and pressing Enter. You can also type ``FILE=filename'' as a command
  569. line argument to specify the database file (Default name is
  570. ``S:Reminder.data''.) to be used. Other possible command line
  571. arguments are ``INTERVAL=# of hours'' which defines the minimum
  572. numbers of hours between two remindings, ``NOREQTOOLS'' which causes
  573. ReminderCheck not to use ReqTools.library, ``MAXGROUP=# of events'' to
  574. specify maximum number of events in group requester, ``MAXWIDTH=# of
  575. chars'' to specify maximum width of line and ``NOAREXX'' which causes
  576. ReminderCheck not to open RexxSysLib.library and thus not use ARexx.
  577.  
  578.  
  579.  
  580.                ReminderCheck Requesters
  581.  
  582. If ReminderCheck finds a event it has to remind you about, it pops up
  583. a requester telling you the date of the event and the event text you
  584. have entered for the event. The requester has three buttons:
  585.  
  586. - `Go away'-gadget tells ReminderCheck that you have noticed the
  587. requester but want it to keep reminding you about this event and date
  588. (Next time ReminderCheck is run, that is.). For example, if the event
  589. says that you should pay your rent, you should use this button until
  590. you really have paid it.
  591.  
  592. - Acknowledge-gadget tells ReminderCheck that you've dealt with this
  593. event, so reminding you again is not necessary. Of course, if the
  594. event is a repeating one (has other `wildcards' than the weekday),
  595. ReminderCheck will remind you again the next time the event is due. If
  596. you checked the `Delete when...'-gadget when you entered the event,
  597. the event is deleted from the database when you acknowledge it.
  598.  
  599. - Quit-gadget tells ReminderCheck to abort immediately.
  600.  
  601.                Group Requesters
  602.  
  603. All the events which are marked ``grouped'' and whose date is
  604. ``today'' when ReminderCheck is run, are put into a single requester
  605. (or to as few requesters as possible) (This feature was introduced in
  606. ReminderCheck V1.20.) .
  607.  
  608. Acknowledging this requester means that you acknowledge ALL the events
  609. in that requester. There is no way to acknowledge (or not to
  610. acknowledge) single events in group requester.
  611.  
  612. NOTE: The ARexx event associated with group requester is ANY of the
  613. ARexx events of the events in the requester. There is no way to
  614. specify which one. Only one ARexx event is generated for each group
  615. requester.
  616.  
  617.  
  618.                ARexx with ReminderCheck
  619.  
  620. If an event has an ARexx script or command associated with it,
  621. ReminderCheck sends the command or starts the script before it opens
  622. the requester for the event. The requester is opened immediately,
  623. however (i.e. ReminderCheck does not wait for the ARexx script to
  624. terminate).
  625.  
  626. NOTE: In order to get ARexx working, RexxMast must be running at
  627. the time ReminderCheck is run. Because both these programs are usually
  628. launched from WBStartup, you can't be sure which of these will be run
  629. first. The only way is simply to try. If ARexx does not seem to work,
  630. you have to start RexxMast from your user-startup.
  631.  
  632. Note also that ARexx does not work if you have the NOAREXX tooltype
  633. in your ReminderCheck icon (see Workbench usage).
  634.  
  635.  
  636.  
  637.  
  638.               Keyboard shortcuts
  639.  
  640. Like Reminder, ReminderCheck has also keyboard shortcuts for the
  641. buttons.  Just press the key that is underlined in the button text.
  642. The button whose text is in boldface (`Go away'-gadget) is the default
  643. button which can be selected with Enter key also. You can use ESC key
  644. to select Quit-gadget.
  645.  
  646.  
  647.  
  648.                  SOURCE CODE
  649.  
  650. The distributed source should compile under both SAS/C6.x and DICE.
  651. IF YOU ARE PLANNING TO MAKE CHANGES TO SOURCE AND WANT TO DISTRIBUTE
  652. THE ALTERED VERSION, READ THE ``COPYRIGHT AND DISTRIBUTION'' SECTION.
  653.  
  654. To compile Reminder and ReminderCheck you will also need the .h and
  655. .lib files for ReqTools.library (At least version 38 needed.). These
  656. files are not included, but the complete ReqTools distribution can be
  657. found on many ftp sites and for example on Fish Disk #794.
  658.  
  659.     Compiling under DICE
  660.  
  661.     Compiling under SAS-C
  662.  
  663.  
  664.  
  665.              Compiling under DICE
  666.  
  667. The provided DMakefile should do most of the work, so just type
  668. ``dmake'' to compile both programs or ``dmake Reminder'' or ``dmake
  669. ReminderCheck'' to compile only one.
  670.  
  671. The source files have some parts between ``#ifdef _DCC'' and
  672. ``#endif''. These parts are not needed when compiled with SAS-C, so if
  673. your change applies to DICE only, use the same method to keep the
  674. source consistent.
  675.  
  676. Similarly the parts between ``#ifdef __SASC'' and ``#endif'' are not
  677. used when compiled with DICE, so make sure you don't write anything
  678. DICE needs into these parts.
  679.  
  680. Notice also that the files RemSASc.c, RemSAS.c and RemSAS.h are not
  681. used under DICE. They are GadToolsBox generated source files (and an
  682. additional prototype file) for SAS-C only.
  683.  
  684.  
  685.  
  686.       Changing the user interface with GadToolsBox (under DICE)
  687.  
  688. The file ``Reminder.gui'' contains the description of the user
  689. interface in GadToolsBox2.0 format. If you change this with
  690. GadToolsBox, use the following steps to produce the new source:
  691.  
  692. 1. Enter the C Source Preferences window.
  693.  
  694. 2. Make sure ``Include pragmas'', ``Static'' and ``Aztec C'' are off
  695. and that ``Generate IDCMP handler'' is on (I also use ``Use System
  696. font'').
  697.  
  698. 3. Select Use.
  699.  
  700. 4. Select C source generation and enter ``RemDICE.c'' as the output
  701. file. The source is now generated in correct format and into the
  702. correct file.
  703.  
  704. 5. Exit GadToolsBox and type ``dmake Reminder'' to compiled Reminder.
  705.  
  706.  
  707.  
  708.             Compiling under SAS-C
  709.  
  710. The provided smakefile should do most of the work, so just type
  711. ``smake'' to compile both programs or ``smake Reminder'' or ``smake
  712. ReminderCheck'' to compile only one.
  713.  
  714. The source files have a some parts between ``#ifdef __SASC'' and
  715. ``#endif''. These parts are not needed when compiled with DICE, so if
  716. your change applies only to SAS-C, use the same method to keep the
  717. source consistent.
  718.  
  719. Similarly the parts between ``#ifdef _DCC'' and ``#endif'' are not
  720. used when compiled with SAS-C, so make sure you don't write anything
  721. SAS-C needs into these places.
  722.  
  723. Notice also that the files RemDICE.c and RemDICE.h are not used under
  724. SAS-C. They are GadToolsBox generated source files for DICE only.
  725.  
  726.  
  727.  
  728.       Changing the user interface with GadToolsBox (under SAS-C)
  729.  
  730. The file ``Reminder.gui'' contains the description of the user
  731. interface in GadToolsBox format. If you change this with GadToolsBox,
  732. use the following steps to produce the new source:
  733.  
  734. 1. Enter the Preferences window.
  735.  
  736. 2. Make sure ``Static'' and ``Aztec C'' are off and that ``Generate
  737. IDCMP handler'' and ``Include pragmas'' are on (I also use ``Use
  738. System font'').
  739.  
  740. 3. Select Use.
  741.  
  742. 4. Select C source generation and enter ``RemSAS.c'' as the output
  743. file. The source is now generated in correct format and into the
  744. correct file.
  745.  
  746. 5. Exit GadToolsBox and type ``smake Reminder'' to compiled Reminder.
  747.  
  748.  
  749.  
  750.  
  751.            FINAL WORDS AND ACKNOWLEDGEMENTS
  752.  
  753. That's it, really! I hope you have use for Reminder, at least I do.
  754.  
  755. I'd like to thank the following people, without whom writing Reminder
  756. would have been impossible or at least much more painful:
  757.  
  758. - The folks at Commodore for creating Amiga in the fist place
  759.  
  760. - Matthew Dillon for DICE
  761.  
  762. - SAS Institute for SAS-C
  763.  
  764. - Nico François for ReqTools.library
  765.  
  766. - Jan van den Baard for GadToolsBox
  767.  
  768. - Steve Koren for SK-shell
  769.  
  770. - Free Software Foundation and Dvaid Gay for GnuEmacs
  771.  
  772. - The people who wrote RCS and Un*x dmake and those who ported them to Amiga
  773.  
  774. - And all people writing software (especially PD and freeware) to Amiga
  775.  
  776.