   
                 TkReplay: A TK RECORD AND REPLAY FACILITY
                     Version: Beta 0.40
                      19 December 1994

This distribution contains tcl/tk code that allows you to record a
script of actions and then replay them.  You can save a script
and later reload and replay it.  This would be useful for creating
demonstrations of your software.  You can add comments to the
demonstration that will display at the proper time.  The demonstration
is replayed at the same rate as you recorded it (or you can request
that it be played faster).

TkReplay runs separately from the application you are recording or
replaying so it depends in the "send" command.

See the file "help.c" for a more complete description of how to use
the program.  See "rebind.notes" for some information about how the
program was written and what the problems were.

The program can be used without mouse pointer warping but it is much
nicer with it.  Some of the demos will nto work unless we can move
the mouse pointer.

INSTALLING AND USING THE PROGRAM -- without mouse pointer warping

(1) Start the tcl/tk program you want to record or replay a script with.
(2) Choose FILE/Replay Options... and turn off "Move mouse pointer ..."
and turn on "Point red arrow at ..."
(3) Start the replay program with:
     wish -f main.tcl
the script expects to be in the TkReplay directory. Change main.tcl to
hard wire in the directory.
(4) From the "FILE" menu choose "Connect to remote app..." and select the
interpreter name of the application you are recording or replaying.  This
name is the file name you give to "wish" or the "-name" option to "wish".
It takes about 15 seconds to rebind everything.
(5) The record press "Record" and start recording.  "Stop" when done.
(6) To recall a saved script use FILE/Load...
(7) To play a script press "Play", ore "PlayFast" to remove any delays
in recording.


INSTALLING AND USING THE PROGRAM -- with mouse pointer warping

(0) Make a "wpwish".  The Makefile should do this with
     make wpwish
but you will have to set CFLGAS to find the tcl and tk include files and
LIBS to find the tcl and tk libraries.
(1) Start the tcl/tk program you want to record or replay a script with.
(2) Start the replay program with:
     wpwish -f main.tcl
the script expects to be in the TkReplay directory. Change main.tcl to
hard wire in the directory.
(3) From the "FILE" menu choose "Connect to remote app..." and select the
interpreter name of the application you are recording or replaying.  This
name is the file name you give to "wish" or the "-name" option to "wish".
It takes about 15 seconds to rebind everything.
(4) The record press "Record" and start recording.  "Stop" when done.
(5) To recall a saved script use FILE/Load...
(6) To play a script press "Play", ore "PlayFast" to remove any delays
in recording.

    If you are already making a custom wish to get other extensions it is
    only necessary to add the WarpPointer command.  Copy lines 97-98
    in tkAppInit.c into your tkAppInit.c and link your wish with warp.o.

SOME SCRIPTS TO TRY:
(1) Script.test.tcl -- I have a little test program in test.tcl.  Type:
    wish -f test.tcl
(or just test.tcl) into one xterm and type:
    wpwish -f main.tcl
into another xterm.  It is better to have the test program in another
directory or you will have to make a combines tclIndex.
(2) Script. labels, Script.lists, Script.entries, Script.text, Script.scales
and Script.canvas all are scripts based on the "widget" demo distributed
with Tk.  Script.canvas does not work very well.

KNOWN PROBLEMS:
(1) It is VERY slow.  Responce to events is no longer mostly in C but in tcl
code and so the program is very sluggish.
(2) Canvas widgets do not really work very well yet.  I am working on this.
(3) The unbinding functionality does not work at all.
(4) Window manager commands during a recording or replay will fool it.


NOTES:
(1) The option to include the replay machanism with the program has not been
tested.
(2) You can combine two scripts by concatenating them and removing the
the lines:
    }
    global ReplayData
    set ReplayData(script) {
between them.
(3) You can start TkReplay and the program in either order.
(4) PlayFast only eliminates delay inserted when the recording was made.
It will not really speed up the replay that much.
(5) If you turn off the "Show event text ..." entries in FILE/Replay Options...
the event lists will disappear.
    

AUTHOR:
    Charlie Crowley
    Computer Science Department
    Univ. Of New Mexico
    crowley@cs.unm.edu

        Comments and bug reports are very welcome.





