Download appe-windows-203-c.hqx (166,422 KB)
From: fprefect@umich.edu (Matt Slot)
Subject: AppeWindows 2.03
If you have seen the Speech Manager, then you know that a background
only application can put a window onto the screen (contrary to popular
belief). The new Text Services Manager in System 7.1 offers documented
hooks for creating, disposing, and handling floating windows. These
windows are layer independent (they are floating above all programs and
windows), and can work without patching traps (well, a quick jGNEFilter,
but no traps).
This program demonstrates a shell application that puts a TSM window onto
the screen, and intercepts update, click, and key events. If you don't
care to look behind the scenes, you simply write the handlers from the
templates. If you want to see how it really works, you can lift the
curtains and look in the other functions for yourself.
Other programs that use this shell include: ObiWan, Extensions Strip,
HoverBar, Virtual, and NotifyMail. Note: that Apple software uses the
layer manager in undocumented ways to get the same effect for software
such as AppleGuide, Control Strip, and the Speech Manager.
Bug Fixes/Changes
2.01 -> 2.03 (2.02 was not released to the public)
* Updated the TestScreenSaver() function to count to 3 before
hiding/showing the window, which reduces flicker and stops
the window from acting strangely during PopupMenuSelect().
* The jGNEFilter helper sets the current app's A5-world (not
ours) so that it can call FindServiceWindow(), and we don't
need to repeatedly test PtInRgn().
* Replaced the Fat WDEF with 68K and PPC parts to reduce footprint.
* Fixed a memory leak with RmveResource() in Prefs code.
* The sample drag handlers now setup and restore our A5-world.
* Updated the process description for creating a Fat Binary.
* Dropped the Symantec C code duplication for archive size.
If you need help porting AppeWin, drop me a line.
* Updated the bundled TSM Fix from 1.02 to 1.03. See the associated
ReadMe file for relevant changes.
* Updated documentation and comments.
Its yours if you like it. This shell is free for you to modify and
expand upon.
Matt Slot, fprefect@umich.edu