Along w/Popcorn Dave's thoughts, i also am supsicious that the widget is not being packed/displayed properly.. On thing that might be contributing (though i still couldn't get a working version after hardcoding 500's) is that $scr->width and $scr->height are both returning 1, even after the ->geomerty() call.