[Sugar-devel] de-hippo'd CanvasIcon: windowed or not?

Daniel Drake dsd at laptop.org
Sun Sep 18 13:19:10 EDT 2011


On Thu, Sep 15, 2011 at 9:38 PM, Marco Pesenti Gritti <marco at marcopg.org> wrote:
> Hey,
>
> isn't the problem going away with GTK 3.0? From the release notes
>
> "GDK has been rewritten to use ‘client-side windows’. This means that
> GDK maintains its own window hierarchy and only uses X windows where
> it is necessary or explicitly requested. "
>
> Of course it would be nice to decouple de-hippo from the gtk 3 port,
> but I'm not sure there is a good solution for this with gtk 2.

Interesting, thanks for pointing that out. But I wonder how much this
affects my question. Just ran some experiments.

Regardless of the underlying implementation (X11 window or not), some
widgets still have a GdkWindow associated with them, and some do not.
In order to receive clicks and mouse movement events, you need to use
a widget with an underlying GdkWindow.

When painted on top of each other, GdkWindow-based widgets seem to
continue to occupy a rectangular region and clip overlapping widgets
with their background colour.

So even though one of the lower levels has changed internally, the
problem is still the same.
However, with GTK3's change to directly pass in a cairo context to the
expose/draw handler, it doesn't feel as hacky to set an alpha channel
on it.

Daniel


More information about the Sugar-devel mailing list