Hello colleague, i'm doing Gtk(2)+cairo animations (in python to admit it) in a different context and i have done it using the gtk main loop and glib timers; but i had to put some effort into making the animation fast, so not to interfere with the gtk main for too long.
In the Gtk.jl afaiu the implementors not to use the gtk_main, so the straight forward way should be use julia timing. I read the gtk+cairo threading tutorial some time ago, but it looked scary to me. What you could think about is actually implement backing storage on your own - prepare a cairo.ImageSurface draw to that (in an own thread) and copy to the gtk Canvas (with set_source and paint()), actually copy to the cairo_context of the canvas in the expose event. The copying is pretty fast nowadays. I just realized that the 'alternative' solution on the link is something like this.
