[sugar] multiple gtk.Windows hide() and show()

Dan Winship dwinship at redhat.com
Mon Aug 27 16:37:49 EDT 2007


Erik Blankinship wrote:
> A UI I am working on has multiple gtk.Windows, which I would like to 
> hide when they are resizing (to avoid screen flashes).
> 
> The multiple gtk.Windows are set_transient() for each other, allowing me 
> to "stack" them, and when I hide() and show(), the flicker is indeed gone!

"transient_for" doesn't mean "stack this window above this other 
window". It means (quoting from the ICCCM) "this window is a pop-up on 
behalf of the named window". Swapping two windows around so that 
sometimes one of them is transient for the other and other times vice 
versa makes no sense by this definition, so there's no telling what the 
WM will do if you do that.

The EWMH has some other hints that can be used to control window 
stacking, although matchbox doesn't support all of them.

But then, if the two windows aren't both full screen windows, then 
you're violating the Sugar HIG anyway. And if they *are* both full 
screen, then why do you need to play weird stacking tricks, rather than 
just show()ing them in the correct order?

-- Dan


More information about the Sugar mailing list