Yes, and I think that isn't surprising. What is actually happening in this case is that the native wrapper window around the Tk toplevel has to be rebuilt with the right parameters and then swapped out - thus the blinking if you do it while the window is on screen.

Jeff

E.R. Uber wrote:
So it sounds like one should determine before displaying the UI if it should
or should not be resizable and that its a bad idea to dynamically change
(enable or disable) wm resizing based on user interaction with the UI??

On Mon, Jan 12, 2009 at 8:45 PM, Jeff Hobbs <je...@activestate.com> wrote:

On 12-Jan-09, at 7:26 PM, E.R. Uber wrote:

From Perl/Tkx why does the call
 $mw->g_wm_resizable( $width, $height );

cause the toplevel main window to blink (disappear and re-appear
quickly)??

I am trying to disable toplevel window resizing but I would rather not
have the app blink.

Is there something extra I need to do, or a different command, to
accomplish the same thing without making the main window blink?

There are a few mantras to hold by in building a Tk app.  Toplevels by
default display at the next update event, whether they are ready or not. You
should always start building a toplevel by doing wm withdraw on it, then
build the UI, make the other wm attribute changes (like wm resizable and wm
geometry) and then wm deiconify it.  Sometime wm geometry wants an update
idletasks (full update not necessary) beforehand.

Jeff


Reply via email to