in reply to Perl/Tk - MainWindow positioning all widgets as centred

You can get the behavior you want by creating frames and using pack on them and then using grid on the widgets inside of the frames. You have too much code for me to fix this on in your example, so, here is an example that should give you an idea of one way to accomplish what you want.
use Tk; use Tk::Frame; use Tk::Button; my $mw = tkinit(-title, 'PM'); $mw->geometry('100x100+0+0'); my $frame = $mw->Frame()->pack(-anchor, 'nw'); my $frame2 = $mw->Frame()->pack(); #Grid bounded by frame my $btn1 = $frame->Button( -text, 'B1')->grid( -row, 0, -column, 0); my $btn2 = $frame->Button( -text,'B2')->grid( -row, 0, -column, 3); #Grid bounded by main window my $btn3 = $frame2->Button( -text, 'B3')->grid( -row, 0, -column, 1); my $btn3_1 = $frame2->Button( -text, 'B3_1')->grid( -row, 0, -column, +4); my $btn4 = $frame2->Button( -text, 'B4')->grid( -row, 1, -column, 2); my $btn5 = $frame2->Button( -text,'B5')->grid( -row, 2, -column, 3); MainLoop;

Good luck.
JamesNC