diff --git a/docs/WHATSNEW.30 b/docs/WHATSNEW.30 index 1fff25f2..bf3dc2b7 100644 --- a/docs/WHATSNEW.30 +++ b/docs/WHATSNEW.30 @@ -4,13 +4,17 @@ CHANGES TO REMIND + MAJOR ENHANCEMENTS -- Added MOON and SHADE specials. These now work with PostScript and - the Tcl/Tk front-end +- Added MOON and SHADE specials. These now work with PostScript, + HTML and Tcl/Tk front-ends. You can have cute moons and shaded + boxes on your printer, on your screen and in your web browser. :-) - TkRemind overhauled -- you can now edit and delete reminders from the GUI. You can actually reasonably use Remind without learning the scripting language. +- TkRemind overhauled -- "server mode" added to Remind; TkRemind will + now pop up timed reminders. + + MINOR ENHANCEMENTS - Updated romanian.h, courtesy Liviu Daia. @@ -29,6 +33,9 @@ CHANGES TO REMIND "security feature" of not reading a group-writable file kicks in. +- Fixed bug which sometimes prevented reminder times from appearing + in a calendar display. + * Version 3.0 Patch 18 + MAJOR ENHANCEMENTS diff --git a/examples/defs.rem b/examples/defs.rem index 179cf4a7..3974e0e8 100644 --- a/examples/defs.rem +++ b/examples/defs.rem @@ -22,7 +22,7 @@ ############################################################################# # -# $Id: defs.rem,v 1.1 1998-01-15 02:50:16 dfs Exp $ +# $Id: defs.rem,v 1.2 1998-05-05 03:16:23 dfs Exp $ # RUN OFF @@ -30,8 +30,8 @@ RUN OFF ################################################ # Ensure required version of remind is used... # ################################################ -IF version() < "03.00.10" - ERRMSG This file requires at least version 03.00.10 of Remind.% +IF version() < "03.00.19" + ERRMSG This file requires at least version 03.00.19 of Remind.% ERRMSG This version is version [version()]. EXIT ENDIF @@ -317,15 +317,9 @@ ENDIF # # ########################################################################## -# Convenient to stick all the PostScript code in a string var - makes -# reminders easier to understand and faster. The variable "shade" will -# contain PostScript code to shade in a particular box on the calendar. - -SET shade psshade(95) - # The following reminder will shade the Saturday and Sunday calendar # entries. -REM Sat Sun PS [shade] +REM Sat Sun SPECIAL SHADE 220 #USHOLS ############################################################################# @@ -386,14 +380,13 @@ OMIT Dec 25 MSG %"Christmas%" Day ########################################################################## # # -# The next block uses the shade variable defined in PSSTUFF above. # # If any US holidays were triggered above, shade in the calendar # # entry in PostScript. This is not quite correct, as it blots out any # # other PostScript stuff above. I was too lazy to do it properly :-) # # # ########################################################################## if $NumTrig > SaveTrig - REM PS [shade] + REM SPECIAL SHADE 220 endif # Seasons (valid from 1992 to 2000)... @@ -406,10 +399,9 @@ REM Dec [IIF((YEAR(TODAY())+1)%4, 21, 22)] MSG %"Winter%" begins #PSSTUFF2 ########################################################################## # # -# Since the "psshade" command blots out any previous PostScript # +# Since the SHADE special blots out any previous PostScript # # reminders for a date, these examples need to follow the US Holidays # -# section, which uses psshade. See PSSTUFF1, above, for examples using # -# psshade. # +# section, which uses SHADE. # # # ########################################################################## @@ -420,10 +412,10 @@ REM PS Border Border moveto \ ([hebday(today())] [hebmon(today())]) show # Fill in the phases of the moon on the PostScript calendar -[trigger(moondate(0))] PS [psmoon(0)] -[trigger(moondate(1))] PS [psmoon(1)] -[trigger(moondate(2))] PS [psmoon(2)] -[trigger(moondate(3))] PS [psmoon(3)] +[trigger(moondate(0))] SPECIAL MOON 0 +[trigger(moondate(1))] SPECIAL MOON 1 +[trigger(moondate(2))] SPECIAL MOON 2 +[trigger(moondate(3))] SPECIAL MOON 3 # The following example puts sunrise and sunset times in PostScript in the # calendar - the sizes are hard-coded, however, and work best in landscape. diff --git a/man/tkremind.1 b/man/tkremind.1 index d64dc9aa..1208acdb 100644 --- a/man/tkremind.1 +++ b/man/tkremind.1 @@ -1,4 +1,4 @@ -.\" $Id: tkremind.1,v 1.3 1998-02-16 02:35:09 dfs Exp $ " +.\" $Id: tkremind.1,v 1.4 1998-05-05 03:16:25 dfs Exp $ " .TH TKREMIND 1 "15 February 1998" .UC 4 .SH NAME @@ -14,8 +14,8 @@ Although not all of \fBRemind\fR's features are available with \fBTkRemind\fR, it creates. This allows you to learn \fBRemind\fR's syntax and then add extra features as you become a more sophisticated \fBRemind\fR programmer. -\fBTkRemind\fR is written in TCL, and requires tcl version 7.4 and tk -version 4.0 (or higher). It also requires a \fBwish\fR binary. +\fBTkRemind\fR is written in Tcl, and requires version 8.0 +(or higher). It also requires a \fBwish\fR binary. .SH OPTIONS \fBTkRemind\fR itself has no options. However, it passes certain options @@ -49,16 +49,14 @@ is no specific indication of an over-full box; you'll just have to notice that the box appears completely full. .SH NAVIGATING -To change to the previous or next month, click the \fBPrevious -Month\fR or \fBNext Month\fR button, respectively. To change back to +To change to the previous or next month, click the \fB<\-\fR +or \fB\->\fR button, respectively. To change back to the current month, click \fBToday\fR. To go to a specific month, click \fBGo To Date...\fR. This pops up a dialog box which allows you to select a month and enter a year. Once you've done this, click \fBGo\fR to go to the date, or \fBCancel\fR to cancel. -To exit \fBTkRemind\fR, click \fBQuit\fR. By default, TkRemind -does not ask for confirmation. If it has been configured -to ask for confirmation, click \fBYes\fR in the dialog box which pops up. +To exit \fBTkRemind\fR, click \fBQuit\fR. .SH ADDING REMINDERS To add a reminder, click button 1 in any day number in the calendar. @@ -131,6 +129,80 @@ Note that during printing, \fBRemind\fR is \fInot\fR called with the \fB-itkremind=1\fR option, because it is operated in normal PostScript-producing mode. +.SH EDITING REMINDERS + +If you created a reminder with \fBTkRemind\fR, it will turn red as the +mouse cursor passes over it in the calendar window. Click +button-1 over the reminder and you will be presented with a dialog +window whose state is identical to the one used to create the reminder. +At this point, you can change the reminder by editing the dialog +entries and selecting \fBReplace reminder\fR. You can delete the +reminder entirely by selecting \fBDelete reminder\fR. The remaining +buttons, \fBPreview reminder\fR and \fBCancel\fR operate identically +to the dialog in "ADDING REMINDERS." + +Note that if you edit a reminder (using \fBPreview reminder\fR), +any edits you made are \fInot\fR retained in the dialog box. You +should not attempt to edit such reminders; you have to retype them +in the \fBPreview reminder\fR dialog. + +If the reminder was not created with \fBTkRemind\fR, you can't edit +it with \fBTkRemind\fR. + +.SH BACKGROUND REMINDERS + +If you create "timed" reminders, \fBTkRemind\fR will queue them in +the background and pop up boxes as they are triggered. Additionally, +if you created the reminder using \fBTkRemind\fR, you will be given the +option of "turning off" the reminder for the rest of the day. +\fBTkRemind\fR achieves queueing of background reminders by running +\fBRemind\fR in \fIserver mode\fR, described later. + +.SH OPTIONS + +The final button on the calendar window, \fBOptions\fR, lets you configure +certain aspects of \fBTkRemind\fR. The configuration options are: + +.TP +.B Start up Iconified +If this is selected, \fBTkRemind\fR starts up iconified. Otherwise, +it starts up in a normal window. + +.TP +.B Confirm Quit +If this is selected, you will be asked to confirm when you press +\fBQuit\fR. If not, \fBTkRemind\fR quits without prompting. + +.TP +.B Automatically close pop-up reminders after a minute +If this is selected, pop-up reminder boxes will be closed after one minute +has elapsed. Otherwise, they remain on your screen forever until you +explicitly dismiss them. + +.TP +.B Beep terminal when popping up a reminder +If selected, \fBTkRemind\fR beeps the terminal bell when a queued reminder +pops up. + +.TP +.B Deiconify calendar window when popping up a reminder +If selected, does what it says. + +.TP +.B Run command when popping up a reminder +If this entry is not blank, the specified command is run whenever a +background reminder pops up. + +.TP +.B Feed popped-up reminder to command's standard input +If selected, feeds the text of the reminder to the command described +above. +.PP +Once you've configured the options the way you like them, +press \fBApply Options\fR to put them into effect, \fBSave Options\fR +to put them into effect and save them in $HOME/.tkremindrc, or +\fBCancel\fR to cancel any changes you made. + .SH ODDS AND ENDS \fBTkRemind\fR performs some basic consistency checks when you add or preview a reminder. However, if you edit a reminder in the previewer, @@ -160,10 +232,69 @@ on the command line. So, in your \fBRemind\fR file, you can include: You can use this to activate certain reminders in different ways for \fBTkRemind\fR (for example). +.SH SERVER MODE + +\fBRemind\fR has a special mode for interacting with programs like +\fBTkRemind\fR. This mode is called \fIserver mode\fR and is +selected by supplying the \fB\-z0\fR option to \fBRemind\fR. + +In server mode, \fBRemind\fR operates similar to daemon mode, except +it reads commands (one per line) +from standard input and writes status lines to standard output. + +The commands accepted in server mode are: + +.TP +EXIT +Terminate the \fBRemind\fR process. + +.TP +STATUS +Return the number of queued reminders. + +.TP +REREAD +Re-read the reminder file + +.PP +The status lines written are as follows: + +.TP + NOTE reminder \fItime\fR \fItag\fR +Signifies the beginning of a timed reminder whose trigger time is +\fItime\fR with tag \fItag\fR. If the reminder has no tag, an +asterisk is supplied for \fItag\fR. All lines following this line +are the body of the reminder, until the line \fBNOTE endreminder\fR +is transmitted. + +.TP +NOTE newdate +This line is emitted whenever \fBRemind\fR has detected a rollover of +the system date. The front-end program should redraw its calendar +or take whatever other action is needed. + +.TP +NOTE reread +This line is emitted whenever the number of reminders in \fBRemind\fR's +queue changes because of a date rollover or a \fBREREAD\fR command. +The front-end should issue a \fBSTATUS\fR command in response to this +message. + +.TP +NOTE queued \fIn\fR +This line is emitted in response to a \fBSTATUS\fR command. The number +\fIn\fR is the number of reminders in the queue. + .SH AUTHOR David F. Skoll \fBTkRemind\fR is Copyright 1996-1998 by David F. Skoll +.SH FILES + +$HOME/.reminders -- default reminder file. + +$HOME/.tkremindrc -- \fBTkRemind\fR saved options. + .SH SEE ALSO remind, rem2ps diff --git a/src/Makefile.in b/src/Makefile.in index d5889c02..88c6c411 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,6 +1,6 @@ # Makefile.in for REMIND # -# $Id: Makefile.in,v 1.8 1998-03-01 20:43:53 dfs Exp $ +# $Id: Makefile.in,v 1.9 1998-05-05 03:16:26 dfs Exp $ VERSION= 03.00.19 SHELL= /bin/sh @@ -69,5 +69,11 @@ tgz: mv remind-$(VERSION).tar.gz remind-$(VERSION).tgz rm -f remind-$(VERSION) +beta-tgz: + ln -s .. remind-$(VERSION)-BETA + peekentry `find remind-$(VERSION)-BETA -depth -follow -name 'Entries' -print` | xargs tar cvf remind-$(VERSION)-BETA.tar + gzip -v -9 remind-$(VERSION)-BETA.tar + mv remind-$(VERSION)-BETA.tar.gz remind-$(VERSION)-BETA.tgz + rm -f remind-$(VERSION)-BETA #---------------- Stuff after this added by "make depend" ----------------- diff --git a/src/version.h b/src/version.h index 13021cd2..05fa5de6 100644 --- a/src/version.h +++ b/src/version.h @@ -9,5 +9,6 @@ /* */ /***************************************************************/ -/* $Id: version.h,v 1.3 1998-03-01 20:43:58 dfs Exp $ */ +/* $Id: version.h,v 1.4 1998-05-05 03:16:27 dfs Exp $ */ #define VERSION "03.00.19" +#define BETA 1