A nice person sent me this offline. Being new to Tk it was something I was not aware of: --- In "regular" Tcl/Tk we'd use the "update" command to let the widgets redraw themselves. I'm not sure what Perl/Tk or Ruby/Tk needs. Hopefully something similar! --- I will try this tomorrow when I have access to the system the code runs on, but a snipet from the Tcl/Tk Reference Manual looks promising: ... If the idletasks keyword is specified as an argument to the command, then no new events or errors are processed; only idle callbacks are invoked. This causes operations that are normally deferred, such as display updates and window layout calculations, to be performed immediately. ...