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!
|
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 |
> 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 |
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!
|
In reply to this post by Christoph Thiede
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, |
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 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 ----
Carpe Squeak!
|
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 |
In reply to this post by Christoph Thiede
Hi Christoph One more blind flail for the home team..
but replace the 192. stuff with something appropriate for your machine.
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.
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 ----
|
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 |
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:
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. |
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'. 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 |
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 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 > > > > > |
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 |
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!
|
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. :-) > protocols in XML format, which may make it significantly easier to create an X server. https://xcb.freedesktop.org/ |
Free forum by Nabble | Edit this page |