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 calendar, 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
- TkRemind uses TAGs of the form
TKTAGnnn where nnn is a number. You should not use
such TAGs 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