Hi all--
Spoon website: http://netjam.org/spoon
I've decided to mention what's up with Spoon on first and third Wednesdays... we'll see how often I have something new to say. ;)
Naiad (which stands for "name and identity are distinct") is Spoon's module system. Right now I'm working on a Naiad module to serve as an example of authorship and deployment. This particular module adds display capability to Spoon, which in its minimal form is headless. I am extending the fine "Areithfa Ffenestri"[1] work of Tim Rowledge and John McIntosh (the name is Welsh for "platform windows"). The basic idea is that there will be multiple display surface objects, each of which is associated with a host platform window that the user can place as desired in the aggregate physical display space.
There is no global "Display" variable (indeed, there are no global variables as such, see [2]). There is also no single special display surface object. Instead, there is an array of display surface objects in the special objects array, and one may refer to them by rank, e.g. "1st display". How the display surfaces are ordered is also up to the user. The user may tell a particular display surface to expand to fill the physical display on which the host window containing it is currently placed. The physical displays occupy a single logical bounding rectangle, and the user may manipulate display surfaces programmatically within it.
The primitive support takes the form of an external VM plugin, which is delivered, installed, and activated as part of the Naiad module. It includes the equivalent of BitBlt.
thanks,
-C
[1] http://minnow.cc.gatech.edu/squeak/3862 [2] http://tinyurl.com/yn7f9h (an archived Spoon list message)
spoon@lists.squeakfoundation.org