====== : wm attributes . -alpha 0.4; update idletasks msgBox "debug-1" set code [catch {$cmdint eval $m($m(current),$curItm,code)} rc] msgBox "debug-2" wm attributes . -alpha 1.0; update idletasks : ====== I see the following behaviour which I don't understand at all. Above, there's a fragment of code of one of my GUI-programs (tclkit 8.4.19, Windows XP). In the 2nd line, some code gets evaluated by a slave interpreter ($cmdint). Within these code, something gets [exec]uted without a trailing '''&''', thus the program blocks, as expected; "debug-2" does not appear. '''But after a few seconds or so, the main window . of my program goes into -alpha 1.0 mode.''' After ending the [exec]uted process, "debug-2" appears, and the main window of my prog is in -alpha 0.4-mode again. So, after all, who switches my program to - alpha 1.0 in between? Very misterious...