Provided by: tkremind_03.04.01-1_all bug

NAME

       tkremind - graphical front-end to Remind calendar program

SYNOPSIS

       tkremind [options] [read_file] [write_file] [config_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.5 (or higher) as  well  as  the  tcllib
       extension.   It  also  requires  a wish binary.  If you are using Tcl/Tk 8.5, you may also
       need either the Img or the tkpng extension to handle PNG images.

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

       Config_file  is  the  file  in  which  TkRemind  stores its options.  If it is omitted, it
       defaults to $HOME/.tkremindrt.

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.  You can
       also use the left/right arrow keys or PageUp/PageDown to navigate.

       To  change  back  to  the  current  month,  click Today or press the Home key.  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.  (If you have rem2pdf installed, you can choose to produce
       PDF output rather than PostScript.)

       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 or rem2pdf documentation.)

       Finally, click Print to print or Cancel to cancel.  Note that during printing,  Remind  is
       called with the -itkremind=1 option and also an additional -itkprint=1 option.  If you are
       producing PDF output, then the option -itkpdf=1 is also supplied to Remind.

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.  In addition, if you  have  a  reminder  that  is
       editable with an editor but was not created using TkRemind, it will be underlined when you
       move the cursor over it, and you can edit it in a text editor by either  left-  or  right-
       clicking on 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.   The
              text  of  the  reminder  is  prefixed  by  "HH:MM ", where HH:MM is the time of the
              reminder.

       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"

       Extra Argument for Remind
              This  specifies  any extra arguments that should be passed to Remind when 0 you are
              doing, leave this blank.

       Change entry font...
              This button pops up a font selection dialog that lets you change the font  used  to
              draw calendar items in the calendar boxes.

       Change heading font...
              Similar  to  Change  entry font, but applies to calendar heading (the month and day
              names and the day numbers.)

       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 was written by Dianne Skoll <dianne@skoll.ca>

       TkRemind is Copyright 1996-2020 by Dianne Skoll.

FILES

       $HOME/.reminders -- default reminder file.

       $HOME/.tkremindrc -- TkRemind saved options.

SEE ALSO

       remind, rem2ps, rem2pdf, rem2html