in reply to Maximum Grid Size

I see your bug, and it's not due to grid size, the same thing happens with pack. I'm sure you are running into some limit with Tk::Pane, and the number of widgets it can handle. It has to do calculations during scrolling for each child widget, and it is overwhelmed by the number of widgets at the normal scrolling speed

Use the right widget for the job, in this case, maybe a Tk::Table. This works fine.

#!/usr/bin/perl use warnings; use strict; use Tk; use Tk::Table; my $mw= tkinit; #$mw->geometry("400x400+100+100"); my $table = $mw->Scrolled('Table', -rows =>1, -columns => 1000, -fixedrows => 5, #trick to hide scrollbars # -fixedcolumns => 5, -scrollbars => 'soe', -takefocus => 1,)->pack(-fill=>'both', -expand=>1); my %widgets; my $row = 1; for my $col(1..1000){ $widgets{$row}{$col} = $table->Button( -text=> "$row - $col", -background => 'white', -command => sub{ do_me($row,$col) } ); $table->put( $row,$col,$widgets{$row}{$col} ); } MainLoop; sub do_me{ my ($row, $col) = @_; print "$row $col\n"; }

I'm not really a human, but I play one on earth Remember How Lucky You Are