Posted to tcl by Stu at Sun Oct 02 13:30:53 GMT 2022view pretty
# May need high keyboard repeat rate to be observable. # xset r rate 100 100; wish tvjitter.tcl; xset r rate bind . <Control-q> exit proc randstr {{length {6}}} { set str "" for {set i 0} {$i < $length} {incr i} { append str [format %c [expr {97 + int(rand() * 26)}]] } return $str } set extra [list] #lappend extra -show headings grid [ttk::treeview .t -columns {a b c} -height 30 {*}$extra] bind .t <Key-Down> [list down] proc down {} { set item [.t next [.t focus]] if {$item eq ""} { return -code break } set index [.t index $item] .t focus $item # Try with one of these. Is there noticeable jitter? .t see $item #if {$index > 29} {.t yview scroll 1 units} #.t yview moveto [expr {double($index - 29) / 500.0}] .t selection set [list $item] return -code break } for {set i 0} {$i < 500} {incr i} { .t insert {} end -values [list $i [randstr] [randstr]] } focus .t .t focus I001 .t selection set I001