Provided by: tkremind_04.00.03-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.

COMMAND-LINE OPTIONS

       TkRemind itself has no command-line 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/.config/tkremindrc.

       If $HOME/.reminders is a directory, then TkRemind defaults to reading $HOME/.reminders and
       writing  new  reminders  to  $HOME/.reminders/100-tkremind.rem.   If you want to keep your
       reminders in a  directory  $HOME/.reminders,  you  should  create  that  directory  before
       starting TkRemind.

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.

ERRORS

       If there are  any  errors  in  your  reminder  file,  the  "Queue..."  button  changes  to
       "Errors...".   Click  on  "Errors..." to see the Remind error output.  Click "OK" to close
       the error window; this makes  the  button  in  the  main  TkRemind  window  to  revert  to
       "Queue..."

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/.config/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

IMMEDIATE UPDATES

       If you are running TkRemind on Linux and have the inotifywait program installed  (part  of
       the  inotify-tools  or  similar  package),  then  TkRemind  redraws  the  calendar  window
       immediately if $HOME/.reminders changes (or, if it is  a  directory,  any  files  in  that
       directory change.)

       This  lets  TkRemind  react immediately to hand-edited reminders or to reminder files that
       are imported from another calendar system (for example, you  may  have  a  cron  job  that
       periodically imports your Google Calendar entries into Remind format.)

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. 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      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.

       However, rather than mixing hand-edited files with TkRemind-generated ones, it  is  better
       to  make  $HOME/.reminders a directory and keep your hand-edited files in a separate *.rem
       file than TkRemind's 100-tkremind.rem file.

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-2022 by Dianne Skoll.

FILES

       $HOME/.reminders -- default reminder file or directory.

       $HOME/.config/tkremindrc -- TkRemind saved options.

SEE ALSO

       remind, rem2ps, rem2pdf, rem2html