There seems to be a bug in PyGTK. GDK events always seem to be of type
gtk.gdk.NOTHING. Rough demonstration follows:
def PropertyNotify(ev, (rootwin)):
stderr.write(repr(ev.type) + "\n") #prints nothing but <enum GDK_NOTHING
of type GdkEventType>
return gtk.gdk.FILTER_CONTINUE
rootwin = gtk.gdk.get_default_root_window()
rootwin.set_events(gtk.gdk.PROPERTY_CHANGE_MASK | rootwin.get_events())
rootwin.add_filter(PropertyNotify, (rootwin))
Others have also encountered and got confused by the behavior, e.g. m . c
. wilkins wrote on this ML:
The only problem with this is that event.type is always
<enum GDK_NOTHING of type GdkEventType>
and I don't receive all events, [snip]
Matt Wilkins and others have reportedly received some of the events they
listened for, but had to disambiguate them with heuristics. I have not
noticed any PROPERTY_NOTIFY events myself, but I do not know whether that
stems from a bug in PyGTK or my misreading of the reference manual.
Is there any way to circumvent or fix this issue? Should I perhaps wrap
rootwin in a gtk.Window? I tried skimming gdkevent.override, but I am no
GObject or GTK+ programmer.
--
-,Bjartur
_______________________________________________
pygtk mailing list pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/