Run GTK+ via pipes.
The original is by Bert Burgemeister and can be found at http://pipeglade.boundp.org/
I hate GTK+. It's incomplete, poorly-designed, filled with bugs, and impossible to predict. This provides a nice little interface to hide all the gory details (except the XML; there are other programs for that).
Improvements over the original include: more widgets, more commands per widget, and automatic predefined callback binding.
Details and full documentation are in pipeglade.html
A sample program (the reason I re-wrote pipeglade) is provided under the PostView directory.