Re: Minutes of the GTK+ Team Meeting - 2010-03-23



Hi!

On sáb, 2010-04-10 at 01:00 -0400, Matthias Clasen wrote:
> On Tue, Mar 23, 2010 at 8:16 PM, Christian Dywan
> >
> > It was concluded that it would be sensible to merge 2-90 with master,
> > effectively replacing it, as soon as Matthias decides to branch off
> > the stable 2.20. And additionally API enhancements will be cherry-picked
> > to the 2.22 branch.
> 
> I have now created a gtk-2-20 branch, so that we can start looking at
> the upcoming merges.
> 
> I have also started to look at the xi2 work of Carlos and got a very
> positive first impression. One thing I am a bit worried about is that
> we don't want to let our other backends fall further behind. I hear
> that Kris has patches implementing the new Device framework for the
> Quartz backend, but we need to at least have 0-level dummy
> implementation for the directfb and win32 backends.

Effectively these are missing, such 0 level implementation would mean
implementing a GdkDeviceManager for the backend and changing some
_gdk_windowing_* functions which have gained a GdkDevice parameter,
these are:

      * _gdk_windowing_get_device_state(), replaces
        _gdk_windowing_get_pointer()
      * _gdk_windowing_window_at_device_position, replaces
        _gdk_windowing_window_at_pointer()
      * _gdk_windowing_device_grab, replaces
        _gdk_windowing_pointer_grab()
> 
> Carlos, it would be great if you could give us your perspective of
> what remains to be done before the branch is ready to be merged.

Sure :), IMO this is what is missing:

      * Fixing the already mentioned broken backends
      * Merging kris' patches into the xi2 branch
      * Kris and I also discussed about the need of a function to
        automatically enable some events on a window for a given device
        type, this specially makes sense if the devices are created on
        the fly (quartz backend could take advantage of this), would
        also help a lot in plug-and-play goodness. At the moment this is
        implicitly done only for master devices.
      * XEmbed and XDND protocols need extending. Basically a Device ID
        (CARD16) needs to be passed around as well, I've got ongoing
        work locally and need to write a proposal here. In the branch,
        there is currently a hack in gtkplug-x11.c to have keyboard
        events interpreted, and gtk_drag_begin() will make a blocking
        grab, so all other devices cannot interact with the application
        while the drag operation is ongoing.
      * Another thing that would be nice to fix is proximity events on
        the XI2 implementation (or at least prepare for this). There's
        no explicit API for this in XI2, and according to its author
        Peter Hutterer, it should be implemented as a valuator on the
        device, but valuators are now represented by Atoms, and I don't
        know of any Xorg input driver doing this currently, nor the Atom
        that should be expected.

I think the branch would be in really good shape if these are done. Some
widgets could improve their behavior with several devices, but that can
be punted to other releases.

Cheers,
  Carlos




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