I'm writing a plugin in a mixture of Scheme and C. The problem I'm having is that when I call the Scheme code from C (using gimp_run_procedure2 after registering the script with script-fu-register), gimp_run_procedure2 returns immediately and the script runs in another thread. I'd like to wait until the script finishes before doing anything else. Gimp doesn't seem to be thread safe, so about half the time the plugin will crash or show the wrong data. Even if gimp was thread safe I would still want to wait, but the result would be confusing rather than catastrophic. Another minor problem I have is that script-fu-register insists that my scripts appear on a menu somewhere. They're not meant for interctive use so this is not appropriate, but I can't see a way to prevent them from appearing in a menu. Tim