Better protect against CPANTESTERS with non-Tk environment
From http://wiki.cpantesters.org/wiki/CPANAuthorNotes
"Why are you testing (and failing) my Tk-ish module without an X server?"
Until very recently, Tk wouldn't build without a display. As a result, the testing software would look at the test failures for your module and think "ah well, one of his pre-requisites failed to build, so it's not his fault" and throw the report away. The most recent versions of Tk, however, *will* build without a display - it just skips all the tests. So the testing software sees that it passed, and thinks there must be something wrong with your module. You should check for a working Tk (and hence X11) environment by checking if MainWindow->new() throws an exception:
my $mw = eval { MainWindow->new };
if (!$mw) { ... skip tests ... }