Spoon progress 6 December 2006: displays

Craig Latta craig at netjam.org
Thu Dec 7 02:30:17 UTC 2006

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.



[1] http://minnow.cc.gatech.edu/squeak/3862
[2] http://tinyurl.com/yn7f9h (an archived Spoon list message)

Craig Latta

More information about the Spoon mailing list