Ke, Thank you very much for the followup. That solves the mystery for me. -Sam ________________________________
From: [email protected] [mailto:[email protected]] Sent: Thursday, September 17, 2009 7:58 PM To: Quiring, Sam Cc: [email protected] Subject: Re: [g-a-devel] events in ATK and AT-SPI Hi, It is the ATK bridge that calls your add_global_event_listeners() in its init routine. All the items in your second list are printed out by your add_global_event_listeners() which, in turn, is called in the ATK bridge's init routine. You can take a look at ATK bridge's source code. The related code is in bridge.c . spi_atk_register_event_listeners() calls your add_global_event_listeners(). Regards, Ke On 09/17/09 22:57, Quiring, Sam wrote: I think I figured this out. The at-spi-registryd examines each of the event types for which an accessible app using AT-SPI registers a global event listener. If the event type begins with one of these strings: focus: mouse: object: document: window: keyboard: then the registryd program itself takes care of handling events and notifying the global event listener. If the event type does not begin with one of these strings, then the registryd assumes it is an event recognized by a toolkit and calls (through bonobo) each application's toolkit, which will call ATK's AtkUtilClass.add_global_event_listener() so the ATK implementation can register the listener, if the event is applicable. This description is not totally complete. As I mentioned below, my implementation of AtkUtilClass.add_global_event_listener() received requests to register listeners for some event types that begin with "window:". If my explanation above were totally correct/complete, then these should have been intercepted by the registryd. -Sam ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Quiring, Sam Sent: Monday, September 14, 2009 8:07 AM To: [email protected] Subject: [g-a-devel] events in ATK and AT-SPI Greetings, I have connected up my ATK implementation of add_global_event_listener() to the AtkUtilClass. My routine prints out the name of the event for each listener that is added into a log file. My AT-SPI client adds these listeners: SPI_registerGlobalEventListener(focusListener, "focus:"); SPI_registerGlobalEventListener(mouseAbsListener, "mouse:abs"); SPI_registerGlobalEventListener(mouseButtonListener, "mouse:button"); SPI_registerGlobalEventListener(buttonPressListener, "Gtk:GtkWidget:button-press-event"); SPI_registerGlobalEventListener(selectionChangedListener, "object:selection-changed"); SPI_registerGlobalEventListener(defunctListener, "object:state-changed:defunct"); When I look at the log created by my ATK routine, the only listener I see get added from the list above is for Gtk:GtkWidget:button-press-event. Does anyone know what happens to the other SPI-registerGlobalEventListener requests? -Sam For the record, here is the complete list of events for which my add_global_event_listener() is called, in order: Gtk:AtkObject:property-change window:create window:destroy window:minimize window:maximize window:restore window:activate window:deactivate Gtk:AtkDocument:load-complete Gtk:AtkDocument:reload Gtk:AtkDocument:load-stopped Gtk:AtkObject:state-change Gtk:AtkObject:children-changed Gtk:AtkObject:visible-data-changed Gtk:AtkObject:active-descendant-changed Gtk:AtkComponent:bounds-changed Gtk:AtkSelection:selection-changed Gtk:AtkText:text-selection-changed Gtk:AtkText:text-changed Gtk:AtkText:text-caret-moved Gtk:AtkText:text-attributes-changed Gtk:AtkTable:row-inserted Gtk:AtkTable:row-reordered Gtk:AtkTable:row-deleted Gtk:AtkTable:column-inserted Gtk:AtkTable:column-reordered Gtk:AtkTable:column-deleted Gtk:AtkTable:model-changed Gtk:AtkHypertext:link-selected Gtk:GtkWidget:button-press-event ________________________________ _______________________________________________ Gnome-accessibility-devel mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
_______________________________________________ Gnome-accessibility-devel mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
