Hello Squeakers

Ned Konz ned at squeakland.org
Wed Mar 24 17:51:43 UTC 2004

On Wednesday 24 March 2004 6:00 am, Samuel Tardieu wrote:
> I can understand why people would like to use existing widgets such as
> Gtk. 

So do I. Unfortunately, we're not there yet. Though I think you could replace 
the existing event loop with one that works with another toolkit pretty 
easily (or kick the toolkit event loop from Squeak, like Goran did), you'd 
have to do some work if you wanted the existing Squeak graphics to work along 
with the toolkit widgets. We have some support for external display surfaces, 
but I don't know if anyone's used it for this kind of thing recently.

> I love developping in Squeak from within Squeak. However, in some 
> cases, I'd really like to be able to distribute standalone
> applications developped in Squeak (benefiting from Smalltalk XP
> facilities), without forcing people to install Squeak and run the
> application from within Squeak.

This is trivial to do as long as you can make your program live in a single 
OS-level window.

No one is forcing people to install Squeak. Just ship two files: the Squeak VM 
and your image. This is explained pretty well on the Swiki, as I recall, and 
has been discussed repeatedly on the list.

If you avoid using the SystemWindows in Squeak, and can live without existing 
platform widgets, you can make a single-window app that can't be 
distinguished from an application written in any other language. Examples of 
this kind of application might be something like an image manager or CD 
player, in which the entire UI is comprised of custom widgets.

An example of an application like this is Faure: 

If you use Morphic or MVC widgets that have counterparts in your platform's 
UI, then you'll end up with an application that not only looks different but 
also feels different (in its response to user input events).

Bill Schwab commented recently and eloquently about problems with the feel of 
the Squeak UI.

Ned Konz

More information about the Squeak-dev mailing list