Squeak as a window manager (Was: Somebody spamming Squeakers)

Lex Spoon lex at cc.gatech.edu
Thu Apr 20 15:10:46 UTC 2000


"Pennell, David" <dpennell at quallaby.com> wrote:
> This message is in MIME format. Since your mail reader does not understand
> this format, some or all of this message may not be legible.
> 
> ------_=_NextPart_001_01BFAA30.B21210C6
> Content-Type: text/plain;
> 	charset="iso-8859-1"
> 
> You would have to make Squeak look like a new X device.
> X used to come with a dumb frame buffer driver that 
> would probably be straightforward to map into a Squeak
> FormCanvas.  Alternatively, you could map higher level
> X operations (vectors, etc.) into Squeak drawing primitives.
> 
> I presume that the VNC X-server uses the frame-buffer 
> mode to grab bits, compress them and move them over the net.
> 


I read the question differently.  In X, a window manager is a program
that manages all the other windows; it doesn't draw the windows itself. 


Then again, implementing such a beastie is notoriously difficult and
bug-prone.  What if this window disappears while you're clicking here
and holding the shift key, and then you release the shift key and press
a different mouse button.... aa!


So maybe he was asking the question you meant: how hard would it be to
write an X *server* in Squeak.  And one answer is: I've thought a lot
about it, and even started on a project once to do it.   You can
certainly grab a copy of the X Protocol from ftp.x11.org.  There is a
directory called DOCS in there somewhere, and a directory called
protocol.

The problem I ran into, was simply that it's a a big protocol.  It's
doable, but expect to spend at least a month on it  (vague, vague
estimate).  A Squeak X server would mean that Unix users can have an
all-Squeak desktop, and just run Netscape and emacs into my Squeak
window.  Ah, very cool.

Well, if someone wants to go after this, I for one would use the thing. 
:)  And congratulations in advance to anyone has the energy and stamina
to finish such a beastie!


-Lex





More information about the Squeak-dev mailing list