I propose to have gdk-event-send-client-message and gdk-event-send-clientmessage-toall take a GdkEvent object, as per the C functions. There might be a place for a combined event creation and sending as now, but not under the C function names. gdk-event-new is standard in gtk 2, taking an event type, and I think can be usefully included. It and some field setter functions would do the trick for lots of event object stuff. A possibility, in addition to setters, would be to take some keyword arguments in gdk-event-new for the fields. I can imagine that being pretty convenient, since an event with nothing but a type stored is not especially useful, so almost always a gdk-event-new would be followed by some sets.