Getting expose events from a GtkSocket


I'm working on an X-based project on Linuxt that involves capturing changes in the image displayed in a GtkSocket. The plug comes from a different process.

I'd like the code to listen for expose events, so it can only capture the changes when something actually changes.

However, while the graphics displayed in the socket change on-screen, nothing I've tried lets the process containing the socket be notified of those changes. This includes
 * Listening for a "damage-event" signal being emitted from the GtkSocket. That's without and with calling gtk_widget_add_events() to specifically enable damage event reporting on the socket.
 * Getting the socket's "plug window", a GdkWindow, by calling gtk_socket_get_plug_window(), and then using gdk_window_add_filter() to listen for events. That includes both without and with using gdk_window_set_events() to specifically enable damage event reporting.
* Getting the XID for the reparented window, and calling XSelectInput to specifically enable damage event reporting.

So I'm wondering how I might be able to get those expose events - is there a technique I'm missing? Or does the act of reparenting via Xembed simply strip out the expose events somehow?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]