Cactus Viewer now now waits on Window events, instead of unnecessarily redrawing on idle, still supports UI animations and handles events set by image loader threads to wake up the process.
(tried demonstrating updates with printf("I");, best I could)
&cactus