[comp.sys.mac.programmer] System 7.0 goodies

matthews@eleazar.dartmouth.edu (Jim Matthews) (05/20/89)

I just got my hands on the binders of System 7.0 documentation from the
developers conference and they contain some interesting details that
weren't part of the general announcement.  The documents are labeled as
"subject to change", but the information is very specific (down to trap
calls, data structures, etc.).  Here are some of the things that caught
my eye:

* There's a new "environment" call, Gestalt.  It supercedes SysEnvirons,
which replaced Environs.  It seems to return more information than
SysEnvirons could (e.g., system versions below 4.1), but otherwise is
similar.  Guess what -- there's no "is MultiFinder running" field :-).
The fact that MultiFinder is always running under 7.0 should bring an
end to that argument.

* The Window Manager explicitly supports "layers", depth-wise
groupings of windows (as in MultiFinder).  This will make it much easier
to implement floating tool palettes, tear-off menus, etc.

* The Menu Manager supports tear-off menus (big surprise).

* The chapter on Outline Fonts doesn't mention anti-aliasing or
multiple-bit depth devices -- maybe next time.

* Virtual memory is implemented using demand paging, with low memory and
the system heap locked into physical memory.  That could be a pain for
users with 2M, since the System 7.0 system heap is reputed to weigh in
at ~900k.  The new SCSI Manager is re-entrant, so it can handle page
faults during SCSI operations, and there's a fall-back option if your
paging disk doesn't use an updated SCSI driver.

* MultiFinder 7.0 launches DAs into their own layers, so no more DA
Handler.

* Users can add programs and DAs to the Apple menu by putting them in
the Apple Menu folder.  Programs can put items into the Apple menu --
selecting the item sends an event to the program.  DAs written for
System 7.0 can be launched from the desktop by double-clicking.

* No more scrunched icons in the Small Icon view, Apple menu & menu bar:
programmers can specify a small icon (SICN) to use instead.
Programmers can also specify 4 and 8 bit color versions of the icon.
Selecting such an icon in the Finder will redraw it with darker colors
instead of inverting it.

* Fonts, DAs, sounds, etc. can be added to the system file by dragging
them into the System icon.  The System Icon can be opened up by double
clicking and the resources can be dragged out.  This sounds like a
special case of the resource-moving interface in Andy Hertzfeld's
Servant.

* The new Desktop Manager supports reading and writing finder comments.
It's about time.

* There's something called the Real-Time Event Sequencer that seems
useful for multi-media applications.  It will schedule Sound Manager
calls and calls to application routines.

* Also in the sound/multi-media department there's Macintosh Audio
Compression and Expansion (MACE), which lets developers squeeze more
sampled sound into limited storage.  On the Mac II and its successors
compression and expansion/playback takes place in real time.

All in all it looks good, but programming the Mac isn't getting any
easier.

Jim Matthews
Dartmouth Sofware Development