[pygtk] How do I force resize of a top-level window?

Eric Raymond esr at thyrsus.com
Wed Dec 16 21:30:39 WST 2009


For the GPSD project <http://gpsd.berlios.de/>, I have just rewritten
our crufty old Motif-based test client, xgps, in pygtk.  It was a
pleasant experience. There is one feature I want that I can't seem to
get working right, however.

The client display consists of three horizontal zones: a sky
view, a raw-data display, and a GPS report display. I have written a
"View" menu with three toggle-button entries to toggle showing or
hiding each of these zones.  All are initially shown. Toggling hides
and re-shows them; so far, so good.

But...the *intended* behavior (which I used to exploit under TkInter) 
is that when I hide a zone, the top-level window shrinks vertically
to fit the remaining zones, which are still packed as before. Conversely,
when I re-show a zone, the window should re-size to the minimum needed
to hold it and its siblings.

Calling queue_resize() on the top-level window doesn't do this. Is there
some magic I need to mutter at the window manager?
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>


More information about the pygtk mailing list