Wednesday, July 28, 2004 |
21:16 - The groundwork's been laid
http://www.drunkenblog.com/drunkenblog-archives/000300.html
|
(top) |
J Greely has unearthed a long, fascinating interview with Rich Wareham, a Linux geek who has written an OS X app called "Desktop Manager"; the whole thing is interesting primarily to geeks alone, but there's a little chunk in the middle that's germane to a discussion that Greely and I were having about Exposé, Dashboard, and the possible extensibility of the "layering" API common to both:
The hard bit, it turns out, is retrieving information about windows on screen and modifying them. As, perhaps, a 'security' feature Apple engineered it so that although modification of windows was possible it could only be done by the Dock. It is, in fact, the Dock which provides the Exposé function in Panther. To allow DM to modify windows I had to use a little but of code by Jon Rentzsch which allowed me to stick a bit of DM inside the Dock process (see later question). This bit of code communicates with the main app and performs much of the magic you see.
So Exposé isn't really a new API at all—it's an extension of the functions that were already present in the Dock. Which stands to reason, when you think about it: the Dock is a floating layer above the Desktop, which has 2D animation, native image-processing (scaling), transparency, and interactivity with both keyboard and mouse, as well as allowing dragging from the floating layer to the Desktop or other app windows and back. What's in Exposé that isn't covered by that?
Neato. These guys have thought it through pretty hard.
|
|