Добрый вечер. Подскажите пожалуйста, как в таком скрипте заставить детали формы - кнопки - реагировать на события во время простоя. При "after 5000" форма замирает, а при постоянной работе - жрёт процессор. proc getstat {} { set fread [open plst r] set sock [socket X.X.X.X 5038] puts $sock "Action: Login" puts $sock "Username: admin" puts $sock "Secret: xxxxxxx\n" while {[gets $fread p] > 0} { puts $sock "Action: Sipshowpeer" puts $sock "Peer: $p\n\n" flush $sock while {([gets $sock line] >= 0) && ($line!="Response: Error")} { if {([lindex $line 0] == "Status:") && ([lindex $line 1] == "OK")} { .l$p configure -bg green update } elseif {[lindex $line 0] == "Status:"} { .l$p configure -bg red update } } } after 5000 getstat } proc labels {} { set fread [open plst r] while {[gets $fread p] > 0} { button .l$p -text $p -bg red pack .l$p -fill x bind . <Escape> {exit} } } labels getstat