Re: Minutes of the GTK+ Team Meeting - 2009-11-27
- From: Carlos Garnacho <carlosg gnome org>
- To: gtk-devel-list gnome org
- Subject: Re: Minutes of the GTK+ Team Meeting - 2009-11-27
- Date: Wed, 25 Nov 2009 02:43:44 +0100
Hi,
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 http://live.gnome.org/GTK
+/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
on.
Carlos
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]