entry .e -textvar cmd bind .e <;Key-Return>; {go %W} text .t -wrap word proc go {w} { global cmd .t insert end "% $cmd\n" catch {eval $cmd} res .t insert end $res\n set cmd "" } eval pack [winfo children .] -fill both -expand 1 focus .e