[Vm-dev] X window handling

Bert Freudenberg bert at freudenbergs.de
Thu May 31 10:27:41 UTC 2007

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.

David, I guess this would be similar to how your XDisplayControl  
plugin works?

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.

For OLPC I need the ability to have multiple top-level windows, and I  
need to know their XID from the image. I only ever need to draw and  
handle events in the top-most window since all windows are full- 
screen (*). That means the full host window plugin support isn't  
actually needed, but I think it still makes sense because OLPC  
development continues on Mac and Win, too. If at all sensible I'd  
like to avoid OLPC-specific bits in the VM. Besides, more folks seem  
to be interested in multiple window support.

Anyway, what's the best way to approach this? Anybody taking it on?  
Or at least lending me a hand? ;)

- Bert -

(*) I tried to convince the OLPC folks to support multiple activity  
instances (**) sharing a single X window but so far I failed. In the  
mean time I'll just fake multiple X windows ...

(**) If anybody is interested: http://wiki.laptop.org/go/ 

More information about the Vm-dev mailing list