Posted to tcl by evilotto at Wed Apr 13 02:01:56 GMT 2011view pretty
proc bindx_cmd {cmd ev} { {*}$cmd [dict filter $ev script {k v} {expr {$v != "??"}} ] } proc bindx {wid evt cmd} { bind $wid $evt [list bindx_cmd $cmd { serial %# above %a button %b count %c detail %d focus %f height %h window %i keycode %k mode %m override_redirect %o place %p state %s time %t width %w x %x y %x character %A border_width %B delta %D send_event %E keysym %K keysym_num %N property %P root %R subwindow %S type %T window %W xroot %X yroot %Y}] } proc a_cmd {clientdata evt} { puts "evt $clientdata: $evt" } label .a -text hello bindx .a <KeyRelease> {a_cmd one} bindx .a <1> {a_cmd button} bindx .a <Configure> {a_cmd conf} pack .a -expand t -fill both focus .a