in reply to DialogBox vs. XDialogBox

You can take any module, make a copy, change it's name, and hack it.

BUT, you may be better off addressing the underlying problem, and just use a toplevel window, and do a grabGlobal on it. That is all the dialogbox does( besides adding a few buttons. That way you can make custom colors, positions, etc. Once you make it once, you can reuse it over and over. When you are done getting the information from the toplevel, do a grabRelease to return control to the main program.

#!/usr/bin/perl use warnings; use strict; use Tk; my $tl; my $mw = MainWindow->new; $mw->title( "MainWindow" ); $mw->Button( -text => "Toplevel", -command => \&do_Toplevel )->pack(); MainLoop; sub do_Toplevel { if ( !Exists( $tl ) ) { $tl = $mw->Toplevel(); $tl->geometry('300x100+100+100'); $tl->title( "Toplevel" ); #put all your widgets here $tl->Button( -text => "Close", -command => sub { $tl->grabRelease; $tl->withdraw } )->pack; } else { $tl->deiconify(); $tl->raise(); $tl->grabGlobal; } } ##############################################################

I'm not really a human, but I play one on earth. flash japh