On May 31, 2007, at 13:33 , David T. Lewis wrote:
On Thu, May 31, 2007 at 12:27:41PM +0200, Bert Freudenberg wrote:
Hi Ian, David,
I think you're the experts for Squeak X window handling ... What would be needed to modify the Unix VM to not open a window until the beDisplay() primitive is called? That's how the Mac and Acorn VMs handle things, making headless operation controllable from the image.
It's not hard. I actually did this once before, change set attached. I don't have time to look at it right now to see if it still works (probably not since I did it in 1999), but it should not be hard to bring it up to date.
That changeset doesn't have much to do with the VM, right? And the other VMs do this without changes to the interpreter if I am not mistaken.
Secondly, what's your estimate of making the host window support work? It is implemented on Win and Mac VMs but not X11 yet. It basically is just some primitives to open, close, resize, and move windows, and display bits, plus the event reporting to the image needs to set a window index field.
It's probably not hard to implement something similar to XDisplayControlPlugin for this. When do you need to have it done?
Oh, as soon as possible of course ... I'm working on making Squeak a native DBus activity and this is holding me back. I have an FFI-based hack to continue my work but FFI is not in the actual OLPC image.
- Bert -