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 *)
#) 
Continue to: