X Server implementation for Squeak

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

X Server implementation for Squeak

Christoph Thiede

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? :-)


Best,

Christoph



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Tobias Pape
Hi Christoph

> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)

There's RFB (aka VNC)…
It works surprisingly well…

BEst
        -tobias

Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

timrowledge


> On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
>
> Hi Christoph
>
>> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
>
> There's RFB (aka VNC)…
> It works surprisingly well…

It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SVE: Skip on Vernal Equinox



Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Christoph Thiede

Hi,


sounds interesting. Does it still work for anyone in Trunk? I tried

RFBServer start: 1

and then in a terminal

$ DISPLAY=:1.0 xmessage foo

but it said

Error: Can't open display: :1.0

However, I got a Windows firewall warning so the image does indeed open a connection (and also starts a background process in the image).
Did I miss anything?

Apart from that, here are some more conceptual questions: How different are VNC and X11 actually? Afaik VNC is only used to stream entire screens while X11 is more fine-granular and allows to stream single windows. For what I proposed to do (use Morphic as a window manager), VNC would not suffice, would it? And how important is that difference from the implementational PoV? :-)

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Mittwoch, 24. März 2021 19:27:18
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 


> On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
>
> Hi Christoph
>
>> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
>
> There's RFB (aka VNC)…
> It works surprisingly well…

It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SVE: Skip on Vernal Equinox





Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Squeak - Dev mailing list
In reply to this post by Christoph Thiede

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? :-)


Best,

Christoph


Hi Christoph,

I would love to have Morphic windows display in my X Window Manager as regular X windows--like XTerm, XEyes..etc. That is independently of the Morphic world.

Do you think this is doable?

cordially,





Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Squeak - Dev mailing list
In reply to this post by Christoph Thiede
Do you need to do an 'xhost+"  from the CLI to allow "foreign" windows to display?

just grasping here...



---- On Wed, 24 Mar 2021 14:48:52 -0400 Thiede, Christoph <[hidden email]> wrote ----

Hi,


sounds interesting. Does it still work for anyone in Trunk? I tried

RFBServer start: 1

and then in a terminal

$ DISPLAY=:1.0 xmessage foo

but it said

Error: Can't open display: :1.0


However, I got a Windows firewall warning so the image does indeed open a connection (and also starts a background process in the image).
Did I miss anything?

Apart from that, here are some more conceptual questions: How different are VNC and X11 actually? Afaik VNC is only used to stream entire screens while X11 is more fine-granular and allows to stream single windows. For what I proposed to do (use Morphic as a window manager), VNC would not suffice, would it? And how important is that difference from the implementational PoV? :-)

Best,
Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Mittwoch, 24. März 2021 19:27:18
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 


> On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
>
> Hi Christoph
>
>> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
>
> There's RFB (aka VNC)…
> It works surprisingly well…

It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SVE: Skip on Vernal Equinox








Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Christoph Thiede

Hi Timothy,


Do you need to do an 'xhost+"  from the CLI to allow "foreign" windows to display?


Unfortunately, it did not help. I'm probably making things even more complicated by using WSL (Windows Subsystem for Linux) for my experiments ... However, together with VcXsrv, I am generally able to view WSL application in my Windows 10 desktop manager.

I would love to have Morphic windows display in my X Window Manager as regular X windows--like XTerm, XEyes..etc. That is independently of the Morphic world.
> Do you think this is doable?

You are probably asking the wrong person. :-) But from what I have heard (apparently it has been discussed a number of times on the list), this should be possible using the HostWindowPlugin. But that's exactly the opposite way then I wanted to go here (move windows into, not out of Squeak) and I did not try out this plugin -  not yet! :-)

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von gettimothy via Squeak-dev <[hidden email]>
Gesendet: Mittwoch, 24. März 2021 19:50:25
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 
Do you need to do an 'xhost+"  from the CLI to allow "foreign" windows to display?

just grasping here...



---- On Wed, 24 Mar 2021 14:48:52 -0400 Thiede, Christoph <[hidden email]> wrote ----

Hi,


sounds interesting. Does it still work for anyone in Trunk? I tried

RFBServer start: 1

and then in a terminal

$ DISPLAY=:1.0 xmessage foo

but it said

Error: Can't open display: :1.0


However, I got a Windows firewall warning so the image does indeed open a connection (and also starts a background process in the image).
Did I miss anything?

Apart from that, here are some more conceptual questions: How different are VNC and X11 actually? Afaik VNC is only used to stream entire screens while X11 is more fine-granular and allows to stream single windows. For what I proposed to do (use Morphic as a window manager), VNC would not suffice, would it? And how important is that difference from the implementational PoV? :-)

Best,
Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Mittwoch, 24. März 2021 19:27:18
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 


> On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
>
> Hi Christoph
>
>> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
>
> There's RFB (aka VNC)…
> It works surprisingly well…

It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SVE: Skip on Vernal Equinox








Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

David T. Lewis
In reply to this post by Christoph Thiede
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


Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Squeak - Dev mailing list
In reply to this post by Christoph Thiede

Hi Christoph


One more blind flail for the home team..


export DISPLAY=192.168.1.102:0.0

but replace the 192. stuff with something appropriate for your machine.



Unfortunately, it did not help. I'm probably making things even more complicated by using WSL (Windows Subsystem for Linux) for my experiments ... However, together with VcXsrv, I am generally able to view WSL application in my Windows 10 desktop manager.


I have read Eric S. Raymond on this....http://esr.ibiblio.org/?p=8764

I was thinking that Squeak may be able to ditch Windows builds completely and just do Linux/Mac/SunOS builds...someday. May make the VM team's life easier.


I would love to have Morphic windows display in my X Window Manager as regular X windows--like XTerm, XEyes..etc. That is independently of the Morphic world.

> Do you think this is doable?

You are probably asking the wrong person. :-) But from what I have heard (apparently it has been discussed a number of times on the list), this should be possible using the HostWindowPlugin. But that's exactly the opposite way then I wanted to go here (move windows into, not out of Squeak) and I did not try out this plugin -  not yet! :-)

Best,
Christoph


Looking forward to it.

I have two more nights of my 3'rd shift factory job and then I will be moving to first shift and this "should" free up my mind from the third shift blah's. so I can get some productive work in.  Wanna get Roassal done, then SqueakBooks workflow functional and then the OpenGL for Croquet and then...maybe I will have the chops for this task.

I think an Emacs interface to Squeak would be the bees-knees too (:



One step at a time, good luck with your XDisplay stuff. 







Von: Squeak-dev <[hidden email]> im Auftrag von gettimothy via Squeak-dev <[hidden email]>
Gesendet: Mittwoch, 24. März 2021 19:50:25
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 
Do you need to do an 'xhost+"  from the CLI to allow "foreign" windows to display?

just grasping here...



---- On Wed, 24 Mar 2021 14:48:52 -0400 Thiede, Christoph <[hidden email]> wrote ----

Hi,


sounds interesting. Does it still work for anyone in Trunk? I tried

RFBServer start: 1

and then in a terminal

$ DISPLAY=:1.0 xmessage foo

but it said

Error: Can't open display: :1.0


However, I got a Windows firewall warning so the image does indeed open a connection (and also starts a background process in the image).
Did I miss anything?

Apart from that, here are some more conceptual questions: How different are VNC and X11 actually? Afaik VNC is only used to stream entire screens while X11 is more fine-granular and allows to stream single windows. For what I proposed to do (use Morphic as a window manager), VNC would not suffice, would it? And how important is that difference from the implementational PoV? :-)

Best,
Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Mittwoch, 24. März 2021 19:27:18
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 


> On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
>
> Hi Christoph
>
>> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
>
> There's RFB (aka VNC)…
> It works surprisingly well…

It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SVE: Skip on Vernal Equinox










Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Tony Garnock-Jones-5
In reply to this post by Christoph Thiede
On 3/24/21 7:00 PM, Thiede, Christoph wrote:
> just an interested question: Is there any X Server implementation for
> Squeak?

A combination of this:

https://gitlab.freedesktop.org/ofourdan/xcbproto

and this:

https://www.squeaksource.com/BitSyntax.html

could be an interesting step towards getting a rudimentary X server
running. I've implemented the client side of the X protocol before (in
Scheme! It wasn't very pretty) but never the server side.

Tony

Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

darth-cheney
In reply to this post by Squeak - Dev mailing list


On Wed, Mar 24, 2021 at 3:09 PM gettimothy via Squeak-dev <[hidden email]> wrote:

I think an Emacs interface to Squeak would be the bees-knees too (:


If you haven't heard about it, there's Shampoo (https://revival.sh/shampoo/installation.html) which used to work for Pharo, but I haven't been able to get it running in a long time. Might have some good pointers there.


Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Levente Uzonyi
In reply to this post by timrowledge
Hi Tim,

On Wed, 24 Mar 2021, tim Rowledge wrote:

>
>
>> On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
>>
>> Hi Christoph
>>
>>> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
>>
>> There's RFB (aka VNC)…
>> It works surprisingly well…
>
> It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.
I haven't used the RealVNC in years, but it used to work well
back in the day with a few tweaks: IIRC you need to disable hexile and
enable zrle and 24-bit colors.
On linux, I can connect to Squeak RFB servers with Remmina[1] and
Vinagre[2] without problems.

I've been "maintaining" a fork of RFB[3]. Since the main repository is
read-only, and Ian is not accessible, the current latest version is
available here: http://leves.web.elte.hu/squeak/RFB-ul.19.mcz .


Levente

[1] https://remmina.org/
[2] https://wiki.gnome.org/Apps/Vinagre
[3] http://leves.web.elte.hu/squeak/

>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Strange OpCodes: SVE: Skip on Vernal Equinox

Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Levente Uzonyi
In reply to this post by Christoph Thiede
Hi Christoph,

On Wed, 24 Mar 2021, Thiede, Christoph wrote:

>
> Hi,
>
>
> sounds interesting. Does it still work for anyone in Trunk? I tried
>
> RFBServer start: 1
>
> and then in a terminal
>
> $ DISPLAY=:1.0 xmessage foo
>
> but it said
>
> Error: Can't open display: :1.0
An RFB server is not an X server, so that just won't work.


Levente

>
> However, I got a Windows firewall warning so the image does indeed open a connection (and also starts a background process in the image).
> Did I miss anything?
>
> Apart from that, here are some more conceptual questions: How different are VNC and X11 actually? Afaik VNC is only used to stream entire screens while X11 is more fine-granular and allows to stream single windows. For what I
> proposed to do (use Morphic as a window manager), VNC would not suffice, would it? And how important is that difference from the implementational PoV? :-)
>
> Best,
> Christoph
>
> _________________________________________________________________________________________________________________________________________________________________________________________________________________________________
> Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
> Gesendet: Mittwoch, 24. März 2021 19:27:18
> An: The general-purpose Squeak developers list
> Betreff: Re: [squeak-dev] X Server implementation for Squeak  
>
>
> > On 2021-03-24, at 11:09 AM, Tobias Pape <[hidden email]> wrote:
> >
> > Hi Christoph
> >
> >> On 24. Mar 2021, at 19:00, Thiede, Christoph <[hidden email]> 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? :-)
> >
> > There's RFB (aka VNC)…
> > It works surprisingly well…
>
> It does BUT it seems like it needs some updating to use some more modern protocols; I can connect to it from the RFB client in Squeak but not from the RealVNC client etc. The most up to date version(s) I know are in the
> http://source.squeak.org/ss repository  - beware - there are what looks like two packages named RFB in there but the 'proper' one is 'RFB' and the other is actually ' RFB'.
>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Strange OpCodes: SVE: Skip on Vernal Equinox
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

K K Subbu
In reply to this post by David T. Lewis
On 25/03/21 12:38 am, David T. Lewis wrote:

> 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.

Well said! Squeak hosts already have X display server software, so there
is no incentive to build one for Squeak. Squeak makes more sense as a
Xclient than an Xserver.

There is an fascinating Squeak package called NetMorph circa 2002.
Morphic objects could move along on a virtual display, like a
multi-monitor video wall, spanning multiple Squeak nodes. It required a
fast network and lots of RAM, so it may be a better fit for today's world.

A NetMorphed Squeak image, running as Xclient on all nodes, can offer a
much richer environment than just a plain display. Imagine live object
migrations and collaborations!

Sorry if this is off-topic.

Regards .. Subbu

Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Christoph Thiede

This was very interesting, thanks for all the impressions! I don't think I will write an X11 server for Squeak these days if it's so complicated. But still, this could be an exciting project for someone or somewhen else ... :-)


Squeak hosts already have X display server software, so there is no incentive to build one for Squeak. Squeak makes more sense as a Xclient than an Xserver.


It depends on your perspective. You could either say "Squeak is one of many applications on your computer", then an Xclient makes much more sense, of course. But you can also consider Squeak as a separate operating system that only requires an outer OS "for compatibility reasons", and from this PoV, it would be very useful to include applications from the outside into your image. Thankfully, with Squeak, we have a system that does not require you to decide on one of both perspectives. :-)

Best,
Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von K K Subbu <[hidden email]>
Gesendet: Donnerstag, 25. März 2021 11:53:35
An: [hidden email]
Betreff: Re: [squeak-dev] X Server implementation for Squeak
 
On 25/03/21 12:38 am, David T. Lewis wrote:
> 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.

Well said! Squeak hosts already have X display server software, so there
is no incentive to build one for Squeak. Squeak makes more sense as a
Xclient than an Xserver.

There is an fascinating Squeak package called NetMorph circa 2002.
Morphic objects could move along on a virtual display, like a
multi-monitor video wall, spanning multiple Squeak nodes. It required a
fast network and lots of RAM, so it may be a better fit for today's world.

A NetMorphed Squeak image, running as Xclient on all nodes, can offer a
much richer environment than just a plain display. Imagine live object
migrations and collaborations!

Sorry if this is off-topic.

Regards .. Subbu



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: X Server implementation for Squeak

Douglas Brebner-2

On 07/04/2021 17:06, Thiede, Christoph wrote:

>
> This was very interesting, thanks for all the impressions! I don't
> think I will write an X11 server for Squeak these days if it's so
> complicated. But still, this could be an exciting project for someone
> or somewhen else ... :-)
>
>
> > Squeak hosts already have X display server software, so there is no
> incentive to build one for Squeak. Squeak makes more sense as a
> Xclient than an Xserver.
>
>
> It depends on your perspective. You could either say "Squeak is one of
> many applications on your computer", then an Xclient makes much more
> sense, of course. But you can also consider Squeak as a separate
> operating system that only requires an outer OS "for compatibility
> reasons", and from this PoV, it would be very useful to include
> applications from the outside into your image. Thankfully, with
> Squeak, we have a system that does not require you to decide on one of
> both perspectives. :-)
>
On a somewhat belated note, the xcb project has descriptions of the X11
protocols in XML format, which may make it significantly easier to
create an X server.


https://xcb.freedesktop.org/