+ // connect handler to prevent events from propagating up parent chain
+ g_signal_connect_after(m_widget,
+ "key_press_event", G_CALLBACK(key_and_mouse_event_after), this);
+ g_signal_connect_after(m_widget,
+ "key_release_event", G_CALLBACK(key_and_mouse_event_after), this);
+ g_signal_connect_after(m_widget,
+ "button_press_event", G_CALLBACK(key_and_mouse_event_after), this);
+ g_signal_connect_after(m_widget,
+ "button_release_event", G_CALLBACK(key_and_mouse_event_after), this);
+ g_signal_connect_after(m_widget,
+ "motion_notify_event", G_CALLBACK(key_and_mouse_event_after), this);
+