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.