[squeak-dev] Dual screen?

Fabio Niephaus lists at fniephaus.com
Fri Jun 26 18:03:54 UTC 2020

On Fri, Jun 26, 2020 at 7:56 PM Robert Withers via Squeak-dev
<squeak-dev at lists.squeakfoundation.org> wrote:
> Hi tim,
> Thinking about what you have said. Host windows. Mmm... I don't disagree
> with you about the immersive environment of squeak managing the windows.
> 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:

More information at:


[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