[squeak-dev] Dual screen?

Robert Withers robert.withers at pm.me
Fri Jun 26 18:22:30 UTC 2020

On 6/26/20 2:03 PM, Fabio Niephaus wrote:
> On Fri, Jun 26, 2020 at 7:56 PM Robert Withers via Squeak-dev
> <squeak-dev at lists.squeakfoundation.org> wrote:
>> I am thinking that TruffleSqueak would make a good window manager. I
>> think you could use Java Swing to build your host windows. Is it so?
>> Good for production apps. Get the tree lists right and you should be
>> good to go.
> Yes, that should be possible. However, it is not yet supported. The
> HostWindowPlugin is at [1].
> You've probably seen it, but just in case: Here's a demo of our
> JavaToolBuilder using Swing to build workspaces, inspectors, and
> browsers in native windows:
> https://www.youtube.com/watch?v=If7xNBYA0Bk
> More information at:
> https://medium.com/graalvm/hpi-polyglot-programming-seminar-3fd06ffa59d2

I would love if this and Spec were integrated such that using Spec you 
could use the JavaToolBuilder to build windows.

Very cool tech, no question!


> Cheers,
> Fabio
> [1] https://github.com/hpi-swa/trufflesqueak/blob/301b58d5d5ea0e9471e0e060b2dc9e726a3d0d54/src/de.hpi.swa.trufflesqueak/src/de/hpi/swa/trufflesqueak/nodes/plugins/HostWindowPlugin.java
>> I would rather see Professional Spec widgets, that look & feel like host
>> widgets, but managed inside Squeak. A step back from the dynamism of
>> Morphic. With all the animation and graphics work and sound/speech, I
>> don't see why host look & feel could not be hosted within Squeak. Of
>> course, all OS styles should be configurable, so on Windows you could
>> switch to Mac windows or Ubuntu look&feel. The issue is time. I wholly
>> understand that!
>> Is that how a squeak display is used? I am unfamiliar. But that sounds
>> like a window manager to me! Multiple Displays. Now this proposal of
>> yours to use a Project for each Display, seems to interleave with my
>> proposed ERights Vat and event loop. I was thinking whether each window
>> event loop could feed the Vat event loop. The Vat's event loop already
>> comes in as priority 40 or 30, so very background. Like a bubbling
>> spring, I like to think.  A Project sounds like a good boundary, to me.
>> I believe each Project can establish its own naming environment. Is it so?
>> I am very interested in forming a Secure DNS, with hierarchical naming
>> and local caching. I want to use it as an interface registry, as well,
>> such that the ASN1 structure definitions are so shared. ASN1Modules are
>> kinda hierarchical, but not completely. For example, I do not think I
>> implemented any way to search up and down the tree, for a definition. I
>> have further thoughts on auto deploying consumers for the various event
>> structures, that may appear unexpectedly, so the engine would dyno-load
>> the consumer package registered for that event type.
>> Closer to my heart, at this point are my questions and request for help
>> in splitting off a pruned stack for an exception, to unblock the event
>> loop yet still allow introspection of an error, or a halt. Here is what
>> I wrote. Tim, might you be able to advise me here? *lost*
>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-June/210452.html
>> Kindly,
>> Rabbit
>> On 6/26/20 12:54 PM, tim Rowledge wrote:
>>>> On 2020-06-26, at 9:35 AM, Robert Withers via Squeak-dev <squeak-dev at lists.squeakfoundation.org> wrote:
>>>> Is there a way to set Squeak to be dual screen?
>>> The fundamentals have been there since 2004. HostWindowPlugin/DisplayHostWindow provide some breadcrumbs.
>>> After years of people shrieking loudly (oh, so loudly) about how essential host windows and native controls are to any chance of Smalltalk having a future - nothing. Nobody found it worth the effort to take the foundation and build on it. That was over 15 years ago.
>>> VisualWorks did the native window thing a long time ago. I've been having to use VW a bit recently (see recent email whining about the awful font stuff) and I really, really, don't like having separate host windows. I think part of the problem is that I tend to have a *lot* of windows open and it turns out that none of the current main OS (yes, I've been using Windows, Mac & various unix) handle lots of windows at all well. It's much easier to have my Squeak world nicely tied together.
>>> One place where I could see potential for interesting experiments would be to use the nascent DisplayHostWindow stuff to do exactly this dual display thing - hell, lots of displays if you want, why not? Instead of trying to make every host window a separate Squeak window, make each a Display and then it you want to spread a couple across several physical display, go for it. Maybe hanging it all off the idea of Projects would be a good start? A Project window already gathers groups of windows after all.
>>> And of course, I wouldn't be at all surprised to hear that someone has already done this and that I simply don't remember it...
>>> tim
>>> --
>>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>>> Adding manpower to a late software project makes it later.

More information about the Squeak-dev mailing list