Teacher Hypertools

This is a small set of programs whose purpose is to enhance the functionality
of other programs. All the programs in this distribution should run right out
of the box.


What are Teacher Hypertools?

See the file th.background for basic information about Teacher Hypertools


Aren't there more hypertools available?

The Elsbeth distribution contains the other hypertools I have written. Elsbeth
is a text editor based loosely on Beth, but most of its functionality comes
from hypertools. The hypertools elsbeth uses involve binding keys to do various
functions, the hypertools here do not.


Teacher Hypertools Contents:

bin: 	All hypertools. Each hypertool provides its own help documentation.

lib:	All code taught by hypertools. (Some code here is not taught by any
hypertool here, but is instead used by the hypertools themselves.

aux: 	All code used by hypertools, but not taught to other programs.


Teacher Hypertools Provided:

busyth 		Indicate when an application is busy.
configureth 	Change color, fonts, other display options of remote widgets
dialogth	Teach keyboard traversal to Tk's dialog routine
displayth	Repack, reorder, duplicate, and destroy widgets
historyth	Teach remote entries to remember their previous contents
poputh 		Teach remote widgets to use remote menus as popups.

bin/th: 	This is a 'catalog' program that lets you run any of the other
programs in bin; the best way to learn the system is to run this program. To
run it type "wish -f bin/th". Or change the first line in bin/th to reflect the
location of Wish on your system, and just type "bin/th".


Teacher Hypertools: Copyright (c) 1994, 1995  David Svoboda

Permission to use, copy, modify, and distribute this software is hereby
granted, provided that the above copyright line appears at least once in source
code taught by Teacher Hypertools, and in documentation relating to said code.
However, permission is not granted to modify the copyright insertion code.

This basically means: if a Teacher Hypertool sticks a copyright message in code
it teaches, and you copy that code to a file, leave the copyright message in.
And include it in your documentation. If it doesn't stick a copyright in code,
don't worry about it. Go ahead and fiddle around with the Teacher Hypertool
source code, and improve it (and drop me a line if you do, I'd be interested),
but don't change the code that inserts copyright notices.


Disclaimer

I don't see how its possible, but if this software crashes your system,
destroys your hard disk, posts to alt.flame asking for mail-bombs, etc. etc, I
didn't do it, man. :)


Bugs

Doubtless there will be bugs, or rather, 'features' you and I didn't count on.
The Tk error should complain of any errors that a bug causes. If you get a
reproduceable Tk error which you suspect is a bug in one of the Teacher
Hypertools, check the hypertool's documentation to see if your bug is mentioned
in its documentation. If your bug is mentioned there, I know about it, and
either considered it a feature, or too hard to fix. If you know of a fix,
workaround, or simply a better way of doing things, please tell me.

If you get a bug which is not covered in the hypertools documentation (or its
simply in the wrong one), please let me know. (If its merely covered by a
different hypertool, that's still a stylistic bug that I can fix by writing
better documentation :). Mail me the contents of Tk's error stack trace, along
with what you were doing to invoke the error. Include the versions of Tk,Tcl,X
and your hardware and software platforms. If Tk does not report an error, but
the hypertool, or your 'enlightened' program does not do what you want, it
could be a bug, or a feature. If you feel strongly that this is a bug (it is
not mentioned in the documentation, and you cannot work around it, for
example), send me a letter describing the problem.


TH WWW Page

There is a WWW Page devoted to Teacher Hypertools, located at:
http://www.ece.cmu.edu/afs/ece/usr/svoboda/www/th/homepage.html


Send questions and comments to David Svoboda <svoboda@ece.cmu.edu>.

Last modified: April 12,1995
