OK, I have solved the problem. The reference was a help. The clue is that the events may not get passed through the parent. For reference here is the code that worked. It's good to finally get the basics working. Doug
import gtk import gtk.glade def key_press(widget,event): print "keypress" xml = gtk.glade.XML('pgtest.glade') widget = xml.get_widget('drawingarea1') xml.signal_autoconnect({ "on_page_key_press_event": key_press, "on_page_destroy_event": gtk.main_quit }) gtk.main() =======file: pgtest.glade======= <?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> <glade-interface> <widget class="GtkWindow" id="page"> <property name="visible">True</property> <property name="title" translatable="yes">PGtestWindow</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> <property name="default_width">640</property> <property name="default_height">480</property> <property name="resizable">True</property> <property name="destroy_with_parent">True</property> <property name="decorated">True</property> <property name="skip_taskbar_hint">False</property> <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <signal name="destroy" handler="on_page_destroy_event" last_modification_time="Fri, 17 Mar 2006 12:42:42 GMT"/> <signal name="key_press_event" handler="on_page_key_press_event" after="yes" last_modificat ion_time="Fri, 17 Mar 2006 12:56:29 GMT"/> <child> <widget class="GtkDrawingArea" id="drawingarea1"> <property name="visible">True</property> <signal name="key_press_event" handler="on_drawingarea1_key_press_event" after="yes" la st_modification_time="Thu, 16 Mar 2006 10:09:36 GMT"/> <signal name="destroy" handler="on_drawingarea1_destroy_event" last_modification_time=" Fri, 17 Mar 2006 12:36:08 GMT"/> </widget> </child> </widget> </glade-interface> -- http://mail.python.org/mailman/listinfo/python-list