[BLT] has a busy command, which * changes the [cursor] to a "clock-face" * captures all pertinent WIMP events (so "clicks" don't back up ...), and * after the operation in question has finished, restores the cursor. The way BLT manages the user interface is by pasting an invisible window over the "busied" frame. The invisible window intercepts all clicks and keystrokes ... Example code for the cursor change appears in an old private page [http://starbase.neosoft.com/~claird/comp.lang.tcl/tcl-examples.html#busy] as well as the [Cookbook] [http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/68377].