NAME
tkremind - graphical front-end to Remind calendar program
SYNOPSIS
tkremind [options] [read_file] [write_file]
DESCRIPTION
TkRemind is a graphical front-end to the Remind program. It provides a
friendly graphical interface which allows you to view your calendar and
add reminders without learning the syntax of Remind. Although not all
of Remind’s features are available with TkRemind, TkRemind gives you an
opportunity to edit the reminder commands which it creates. This
allows you to learn Remind’s syntax and then add extra features as you
become a more sophisticated Remind programmer.
TkRemind is written in Tcl, and requires version 8.0 (or higher). It
also requires a wish binary.
OPTIONS
TkRemind itself has no options. However, it passes certain options on
to Remind. The options it passes are -b, -g, -x, -i and -m. See the
Remind man page for details about the options. Note that TkRemind will
respect the -m and -b1 options and adjust its appearance accordingly.
Read_file is the file from which TkRemind reads reminders. It is in
standard Remind format. Write_file is the file to which TkRemind
writes reminders which you add using the GUI. If Read_file is omitted,
it defaults to $HOME/.reminders. If Write_file is omitted, it defaults
to Read_file.
You may wish to have a different Write_file from Read_file if you want
to collect all of TkRemind’s reminders in one place. Suppose your main
file is $HOME/.reminders and you want TkRemind to put its reminders in
$HOME/.tkreminders. In $HOME/.reminders, include the line:
INCLUDE [getenv("HOME")]/.tkreminders
THE CALENDAR WINDOW
When you start TkRemind, it displays a calendar for the current month,
with today’s date highlighted. Reminders are filled into each box on
the calendar. If a box contains many reminders, you can scroll it up
and down by dragging mouse button 2 in the box. Note that there is no
specific indication of an over-full box; you’ll just have to notice
that the box appears completely full.
NAVIGATING
To change to the previous or next month, click the <- or -> button,
respectively. To change back to the current month, click Today. To go
to a specific month, click Go To Date.... This pops up a dialog box
which allows you to select a month and enter a year. Once you’ve done
this, click Go to go to the date, or Cancel to cancel.
To exit TkRemind, click Quit.
ADDING REMINDERS
To add a reminder, click button 1 in any day number in the calendar.
The Add Reminder... dialog will pop up, with values preselected for the
day you clicked.
The dialog has six basic groups of controls. The first three lines
select one of three types of reminders. Choose the type of reminder
with the radio buttons, and choose the values of the days, months, and
years by selecting values from pull-down menus. The pull-down menus
appear when you click the raised value buttons.
The next control specifies an expiry date for the reminder. Select the
check button to enable an expiry date, and fill in the values using
pull-down menus.
The third control specifies how much advance notice you want (if any),
and whether or not weekends and holidays are counted when computing
advance notice.
The fourth control specifies which days Remind considers as part of the
weekend. This can affect the interpretation of "weekday" in the second
and third types of reminders.
The fifth control associates a time with the reminder. You can also
specify advance notice, possibly repeating.
The sixth control specifies what Remind should do if a reminder falls
on a holiday or weekend.
Enter the body of the reminder into the Body: text entry.
To add the reminder to the reminder file, click Add to reminder file.
To close the dialog without adding the reminder to the file, click
Cancel. To preview the reminder, click Preview reminder. This pops up
the Preview reminder dialog box.
PREVIEWING REMINDERS
The Preview reminder dialog box is an excellent way to learn Remind.
It displays the Remind command which realizes the reminder you entered
using the Add Reminder... dialog. You can edit the reminder, thereby
gaining access to advanced features of Remind. You can also use it
simply to play around and discover Remind’s idioms for expressing
different types of reminders.
PRINTING
To print the current month’s calender, click Print... on the main
calendar window. This brings up the print dialog. Printing either
produces a PostScript file or sends PostScript to a UNIX command.
Select the print destination by choosing either To file: or To command:
in the print dialog. Press Browse... to bring up a file browser. In
the file browser, you can enter a filename in the text entry, double-
click on a filename in the listbox, or double-click on a directory to
navigate the file system. You can also type the first few characters
of a file name in the text entry box and press space to complete the
name to the first matching entry.
The Match: box contains a filename wildcard which filters files in the
listbox. You can change the filter and press enter to rescan the
directory.
Select the appropriate paper size and orientation. Activate Fill page
if you want the calendar to fill the page. This should be the normal
case unless you have many reminders in a particular day. (See the
Rem2PS documentation.)
Finally, click Print to print or Cancel to cancel. Note that during
printing, Remind is not called with the -itkremind=1 option, because it
is operated in normal PostScript-producing mode.
EDITING REMINDERS
If you created a reminder with TkRemind, 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
Replace reminder. You can delete the reminder entirely by selecting
Delete reminder. The remaining buttons, Preview reminder and Cancel
operate identically to the dialog in "ADDING REMINDERS."
Note that if you edit a reminder (using Preview reminder), any edits
you made are not retained in the dialog box. You should not attempt to
edit such reminders; you have to retype them in the Preview reminder
dialog.
If the reminder was not created with TkRemind, you can’t edit it with
TkRemind.
USING A TEXT EDITOR
If you have set the "text editor" option correctly, right-clicking on a
reminder will bring up a text editor on the file containing the
reminder. The cursor will be positioned on the line that generated the
reminder.
BACKGROUND REMINDERS
If you create "timed" reminders, TkRemind will queue them in the
background and pop up boxes as they are triggered. Additionally, if
you created the reminder using TkRemind, you will be given the option
of "turning off" the reminder for the rest of the day. TkRemind
achieves queueing of background reminders by running Remind in server
mode, described later.
OPTIONS
The final button on the calendar window, Options, lets you configure
certain aspects of TkRemind. The configuration options are:
Start up Iconified
If this is selected, TkRemind starts up iconified. Otherwise,
it starts up in a normal window.
Show Today’s Reminders on Startup
If this is selected, TkRemind shows a text window containing
reminders which would be issued by "remind -q -a -r" on startup,
and when the date changes at midnight.
Confirm Quit
If this is selected, you will be asked to confirm when you press
Quit. If not, TkRemind quits without prompting.
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.
Beep terminal when popping up a reminder
If selected, TkRemind beeps the terminal bell when a queued
reminder pops up.
Deiconify calendar window when popping up a reminder
If selected, does what it says.
Run command when popping up a reminder
If this entry is not blank, the specified command is run
whenever a background reminder pops up.
Feed popped-up reminder to command’s standard input
If selected, feeds the text of the reminder to the command
described above.
E-mail reminders here if popup not dismissed
If you enter a non-blank e-mail address in this field, then
TkRemind will e-mail you a reminder if you don’t dismiss the
popup box within one minute. This is useful if you need to
leave your terminal but want your reminders to "follow" you via
e-mail.
Name or IP address of SMTP server
TkRemind uses a direct SMTP connection to send mail. Enter the
IP address of your SMTP server here.
Text Editor
This specifies a text editor to invoke when a reminder is right-
clicked. The characters "%d" are replaced with the lined number
of the file containing the reminder, and "%s" are replaced with
the file name. Useful strings might be "emacs +%d %s" or "gvim
+%d %s"
Once you’ve configured the options the way you like them, press Apply
Options to put them into effect, Save Options to put them into effect
and save them in $HOME/.tkremindrc, or Cancel to cancel any changes you
made.
KEYBOARD SHORTCUTS
TkRemind’s main window includes the following keyboard shortcuts:
Ctrl-Q Quit
Left Arrow
Previous Month
Right Arrow
Next Month
Home Today
ODDS AND ENDS
TkRemind performs some basic consistency checks when you add or preview
a reminder. However, if you edit a reminder in the previewer, TkRemind
does not check the edited reminder. You can produce illegal reminders
which may cause problems. (This is one good reason to isolate
TkRemind’s reminders in a separate file.)
TkRemind does not check the body of the reminder in any way. You can
use the normal Remind substitution sequences in the body. Furthermore,
if you use expression-pasting in the body, TkRemind does not validate
the expressions.
When TkRemind invokes Remind, it supplies the option:
-itkremind=1
on the command line. So, in your Remind file, you can include:
IF defined("tkremind")
# Then I’m probably being invoked by TkRemind
ENDIF
You can use this to activate certain reminders in different ways for
TkRemind (for example).
TkRemind uses tags to keep track of reminders in the script file. It
also places special comments in the reminder file to store additional
state. You can certainly mix "hand-crafted" reminders with reminders
created by TkRemind if you are aware of the following rules and
limitations:
o Do not use the TAG keyword in hand-crafted reminders.
o Do not edit lines starting with "# TKTAGnnn", "# TKEND", or any
lines in between. You can move such lines, but be careful to
move them as a single block.
o Hand-crafted reminders cannot be edited with TkRemind, and for
hand-crafted timed reminders, you will not be presented with the
"Don’t remind me again" option when they pop up.
SERVER MODE
Remind has a special mode for interacting with programs like TkRemind.
This mode is called server mode and is selected by supplying the -z0
option to Remind.
In server mode, Remind 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:
EXIT Terminate the Remind process. EOF on standard input does the
same thing.
STATUS Return the number of queued reminders.
REREAD Re-read the reminder file
The status lines written are as follows:
NOTE reminder time tag
Signifies the beginning of a timed reminder whose trigger time
is time with tag tag. If the reminder has no tag, an asterisk
is supplied for tag. All lines following this line are the body
of the reminder, until the line NOTE endreminder is transmitted.
NOTE newdate
This line is emitted whenever Remind has detected a rollover of
the system date. The front-end program should redraw its
calendar or take whatever other action is needed.
NOTE reread
This line is emitted whenever the number of reminders in
Remind’s queue changes because of a date rollover or a REREAD
command. The front-end should issue a STATUS command in
response to this message.
NOTE queued n
This line is emitted in response to a STATUS command. The
number n is the number of reminders in the queue.
AUTHOR
TkRemind is now supported by Roaring Penguin Software Inc.
(http://www.roaringpenguin.com)
TkRemind was written by David F. Skoll <dfs@roaringpenguin.com>.
TkRemind is Copyright 1996-1998 by David F. Skoll, Copyright 1999 by
Roaring Penguin Software Inc.
FILES
$HOME/.reminders -- default reminder file.
$HOME/.tkremindrc -- TkRemind saved options.
SEE ALSO
remind, rem2ps