in reply to Re: scroll position
in thread scroll position

You can use yview(moveto=>$fract) instead of yviewMoveTo($fract).

Here is a convenience fix for the Perl/Tk Chatterbox Client.
Change sub updChatterbox to:
sub updChatterbox { my ($mytopchar, $myposition) = $Chatfield->yview(); # retreive sc +roll pos &Status('Checking for new chat messages...'); foreach (&getFromServer('chat')) { &printChat("$_"); } &Status($status_idle); if ($myposition == 1) { $Chatfield->yview(moveto=>$myposition); } else { $Chatfield->yview(moveto=>$mytopchar); # restore scroll pos } }

This allows you to scroll back and read aged chat without having the client jump to the bottom. No more cutting and pasting!!

Update: If I had bothered to actually pay attention while browsing through the Tk CB code, I would have seen the part about $Chatfield->see('end');
Here is a nicer fix:
if ($myposition == 1) { $Chatfield->yview(moveto=>$myposition); } else { $Chatfield->yview(moveto=>$mytopchar); # restore scroll pos }

-dystrophy