[squeak-dev] X Server implementation for Squeak

David T. Lewis lewis at mail.msen.com
Wed Mar 24 19:08:10 UTC 2021


On Wed, Mar 24, 2021 at 06:00:16PM +0000, Thiede, Christoph wrote:
> Hi all,
> 
> 
> just an interested question: Is there any X Server implementation for
> Squeak? I'm asking indeed not for an X Client implementation (I guess
> that is what sqUnixX11.c and the HostWindowPlugin implementation for
> Unix do) but for an X Server implementation, which could allow us to
> manage arbitrary Unix windows in our Squeak Morphic world. Is there
> already some solution like this? If not, anyone here who could make an
> estimation about the effort for this? :-)
> 

Hi Christoph,

This is a really great question, and I'm happy to see it popping up from
a certified MS-Windows guru :-)

I think the idea has come up before once in a great while, and I certainly
recall thinking about it myself a long time ago.

I think the answer is yes. An X server is just another program that happens
to understand the X11 protocols and know what to do with them. So you
could, for example, start with the simplest possible open source X11
window manager that you can find, and reimplement its logic in Squeak.
You would then install it as the X server. and from there you might
start experimenting with rendering X11 client windows in Squeak.

However, as a practical matter, this would be a big project. The protocols
are complex, and modern X11 servers have accumulated a lot of fancy
features that would be difficult to reproduce from scratch.

Here is another way to look at it: Once apon a time, web browsers were
simple and we had browser functionality written in Smalltalk, and running
in the Squeak image. But as time went on, browsers got more complicated,
and it became infeasible to keep up with the feature creep.

I think you would find a similar situation with X11 servers. In theory
you can write one, but it would be difficult to implement enough
functionality to make it seem acceptable to users today.

Dave



More information about the Squeak-dev mailing list