Re: client side windows - request for testing and reviewing



On Wed, 2009-06-17 at 18:21 +0200, Mikkel Kamstrup Erlandsen wrote:
> 2009/6/17 Alexander Larsson <alexl redhat com>:
> > The client side window branch is now feature complete on X11, and
> > includes API to do offscreen window embedding (with patches for
> > clutter-gtk availible to test this). Today I merged the latest master
> > into the branch to make it easy for people to test it (its got the new
> > so version).
> >
> > I fixed the last known (to me) bug yesterday (an obscure WM interaction
> > issue on loading the saved session), and am running this as my default
> > Gtk+ without issues.
> >
> > The win32 branch is getting some work done by Cody Russell, and the
> > Quartz backend used to work fine but requires some minor API change
> > updates (hopefully Richard can do this soon, CC:ed).
> >
> > It would be very nice if we could merge this soon. However, to do that
> > we need more testing and people to look at the code. As things stand
> > right now I've gotten essentially zero feedback. I don't know of anyone
> > except the two backend porters who have built or looked at the code
> > really.
> >
> > So, please, please, please, test this code. We need people who run
> > "uncommon" apps to test it, and we need people to run it on apps they
> > know really well so we can find minor changes in behaviour.
> >
> > Also, anyone who knows gdk or have an interest in this, please take a
> > look at the code and give feedback.
> 
> I think I need some pointers to give some constructive feedback on
> this. I've now compiled the client-side-windows branch, but I am
> unsure where to start looking and what to try out.

That depends on what you want to do. Generally there is not a lot of new
API in the csw branch, most of it is a total redesign of how gdk works
internally.

If you want to test, then just run normal apps like you normally do but
with the client side window libraries, then try to find places where it
differs in behaviour from the normal one.

If you want to review the code, i'd recommend starting in gdkwindow.c,
it has a long comment at the top describing how windows work in the new
world, then go from there.

The new API is mainly about doing offscreen windows:
* New window type GDK_WINDOW_OFFSCREEN
* gdk_window_get_offscreen_pixmap: Get the current GdkPixmap for an
offscreen window
* gdk_window_set/get_has_offscreen_children: enable embedding of
offscreen children
* gdk_window_offscreen_children_changed: Used when the geometry of the
embedded offscreen windows change
* a few new signals on GdkWindow to handle offscreen window embedding

Although there is also a new generic function
gdk_window_get_root_coords() that gets the root coordinates of any point
in a window (as opposed to the old gdk_window_get_origin() which is not
useful when windows may be transformed.

> And also - is there an easy way to run my existing apps on top of the
> new libs I've installed in /opt? Like some LD_LIBRARY*-magic...

Yes, just install in another prefix and run with that in LD_LIBRARY_PATH
there. Although this will change where gtk modules are loaded from so
e.g. themes may not work with this.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]