Re: Minutes of the GTK+ Team Meeting - 2009-11-27


On mar, 2009-11-24 at 22:13 +0000, Emmanuele Bassi wrote:
> = minutes for the 2009-11-27 meeting =

> 2. MPX awesomeness [garnacho]
> - No garnacho present, we'll be dealt with through bounty hunters

Damn, sorry :(

I mostly wanted to raise awareness on some things that could help
getting the wheel moving.

      * Testing on X11 in general is most welcome, since there has been
        a refactor of event handling, not only XI2 has to be tested, but
        core events and XI1 impls as well, although most of the changes
        are due to code shuffling, there aren't practically any
        fundamental changes here.

      * There have been changes in _gdk_windowing_* API, and some
        additional things left for Gdk backends to implement, win32 and
        quartz backends should implement a GdkDeviceManager and the
        additional methods in GdkDevice. The class struct had to be
        extended here, but I don't think that's a problem, since this is
        sort of a final object.

      * There are compatibility issues with applications that mix Xlib
        and GTK+ API usages in creative ways, these don't apply of
        course if the core events GdkDeviceManager impl is in use. The
        two examples I've been able by to find across my desktop are:
              * Emacs-gtk: seems to create GtkWidgets, but actually
                ignores GdkEvents in favor of interpreting XEvents
                itself. When the XI2 backend is in use core device
                events aren't even selected, leaving a pretty useless
                operative system :)
              * Metacity: Uses all the Gdk machinery, but for grabs.
                XGrabPointer() coerces core pointer events into the grab
                window, even if XI2-enabled Gdk didn't select for these
                events, nor actually translates them into GdkEvents.
                There is no easy solution for this, and it looks like
                mixing XI2 and X pointer/keyb APIs in the same client is
                considered a bad idea.

        I added the GDK_CORE_DEVICE_EVENTS envvar to force the core
        GdkDeviceManager to be used, device managers are attached to a
        GdkDisplay and created together with it in gdk_display_open()
        (and hence gtk_init()). I'm not sure of the best solution to let
        apps choose whether to be XI2 aware or stick to core events.

      * I also introduced GtkDeviceGroup and GdkMultiDeviceEvents in
        order to ease multiple pointers interaction, but I'm still a bit
        unsure on how well will this fit with the future Xorg multitouch
        plans. There are a few tests in tests/multidevice/ exercising
        this and looks easy and powerful enough to me.

      * There is an overview of the changes in
        +/MPX/ , there are some additional concepts such as grab
        ownership and the new objects/interfaces that I've tried to
        explain there.

I've sucked wrt GTK+ meetings lately, will try to improve that from now


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