Updated 2015-12-02 15:20:44 by oehhar

This Tk command runs the event loop while waiting for something to happen (as described by its arguments).
tkwait variable name
tkwait visibility name
tkwait window name

While the tkwait command is waiting it processes events in the normal fashion, so the application will continue to respond to user interactions. If an event handler invokes tkwait again, the nested call to tkwait must complete before the outer call can complete.

"Anyway, it's a little bit confusing that tkwait is 'scope-proof'. ;)" Another reminder to read the man page carefully: "If the first argument is variable (or any abbreviation of it) then the second argument is the name of a global variable and the command waits for that variable to be modified."

caspian: Remember that tkwait syntax differs from after. With "after", you need to enclose a command inside of { and }. To wit:
 after 500 {
      puts "hello, world!"

With tkwait, there is no need to use { }s. (You will get an error if you do). Instead, you can do something like this:
 tkwait ...
 puts "hello, world!"

Everything after "tkwait..." will not be exeuted until the event occurs.

See also edit