On Fri, Jan 21, 2011 at 08:44:23PM +0100, Igor Stasenko wrote:
that what i meant by saying 'VM support' SqueakVMs don't have such primitive. But maybe we don't need it, because i think it would be much better to give image a full control upon creation/closing of host windows. So, image could decide by own what to do (and then you even don't need to a special handling in VM for headless mode, since it will be a decision which image does, not VM).
Maybe slightly off topic, but with an interpreter VM on X11 you can do this: OSProcess thisOSProcess processAccessor primKillDisplay. (Delay forSeconds: 5) wait. OSProcess thisOSProcess processAccessor primOpenXDisplay In other words, close the display under control of the image, and open it again under control of the image. You can also reopen the display on any X11 server willing to accept the connection (i.e. close the display on your current machine and reopen it somewhere else). VM support is in XDisplayControlPlugin (on SqueakSource). It should be possible to make it work with Cog also. The equivalent functionality for Windows and non-X11 Mac would work quite differently, so putting it in a plugin is a good approach. I agree with Eliot's recommendation that the display should be opened by the image after the image is started, rather than opened by the VM before the image is started. IIRC this has been discussed in the past but has not been implemented. Dave