OK it took a little longer than expected but I have a working beta including a CDEV with all the knobs, seems nice and stable under 7.1 and 7.5.5 in Mini vMac though there are a couple minor bugs to still work out and I have actually NOT tried this on a real Mac yet!
You can expose the desktop by moving the cursor to one or more "hot corners" (including while dragging) or pressing a keystroke (I tried to make the keystroke-setting experience very interactive which was really quite tedious to get right!).
You can un-hide everything by clicking near the edge of the screen, with a keystroke or by using a "hot corner". If you open a hidden window (e.g. by double-clicking its Finder icon), just that one window will un-hide. Switching apps (except to the Finder) un-hides everything.
A fun thing to try is pressing the keystroke while a dialog box is up; all the background windows whoosh away to their hiding places but the dialog box stays put. Not sure if this is a feature or a bug
I hate cdevs that make you restart for changes to take effect ... so mine doesn't make you do that
I shortened the zoom animation from your initial recommendation
@PB170 , it feels punchier this way. Also I matched the Finder which I believe actually shows 5 rects at a time rather than 3 (at least it looks that way to me when freeze-framing in Macsbug).
I don't use MacOS 8 at all so consider this a System 7-specific project for now. Eventually I will get it working under System 6. I don't think I will invest time in MacOS 8 support if it doesn't already mostly work, but would welcome others to take that on later. (This version will crash without the Gestalt Manager ... hey it's a beta!)
This was a tricky project that patches about ten traps so far. It is not perfect. There are plenty of edge cases still to fix. Help appreciated identifying any I may have missed! (One known bug: hiding a WindowShaded window un-shades it. This is due to a particular weird thing WindowShade does which will be hard to work around. Trust me, it's really WindowShade's fault! For now, call it a "known incompatibility.") Source code will eventually be released but there is tons of cleanup to do first ... also proper credits will be added later but
@PB170 @cheesestraws already get a hidden cameo mention.
I'll probably add more commentary tomorrow, I'm going to bed!
