#!/usr/bin/perl
use warnings;
use strict;
use Tk;
my $mw = new MainWindow;
my $current_size = $mw->reqwidth . "x" . $mw->reqheight;
my $old_current_size = $current_size;
$mw->bind( '<Configure>', sub{ &OnResize });
my $leave = 0;
$mw->bind( '<Leave>',sub { $leave = 1; } );
$mw->bind( '<Enter>',sub { $leave = 0;
&OnResize;
} );
MainLoop;
sub OnResize {
my $current_size = $mw->width . "x" . $mw->height;
if( $leave == 1) {return }
if($old_current_size eq $current_size){return}
## Resize has occurred do something:
printf( "Resize happened - old size: %s, new size: %s\n",
$old_current_size, $current_size );
## set the old size to the new size
$old_current_size = $current_size;
}
|