This article is from the FAQ, by with numerous contributions by others.
Possible problems in your program:
* Your program was not a specialisation of systemenv
* You did not set theWindowEnv to the guienv instance in setWindowEnv
* Your program forks in the dopart of guienv. You should fork systems in
the dopart of systemenv. This might change in a future release
Your program should look like this:
-- program: descriptor -- systemenv (# setWindowEnv:: (# GUI -> theWindowEnv #); GUI: @guienv (# do ... (* open windows here *) #); do ... (* fork systems here *)#)