#!/usr/bin/env wish wm geometry . 750x650 wm title . "Text Tools" text .content text .output listbox .transform .transform insert end {One line} .transform insert end Line/Word/Char grid .transform -row 1 -column 1 -rowspan 2 grid .content -row 1 -column 2 grid .output -row 2 -column 2 focus .content proc wordcount {} { set text [.content get 1.0 end] set lines [expr [llength [split $text \n]] - 1] set words [llength [regexp -all -inline {\S+} $text]] set len [string length $text] lappend out $lines lappend out $words lappend out $len .output replace 1.0 end $out } bind .content wordcount proc select_transform {} { puts {transform selected} } bind .transform select_transform update