|
Classic Window Management
An APE Module by Robb Timlin
PANTHER STATUS:
CWM 1.1 does not work fully under Mac OS X 10.3. However, CWM 1.0 seems to do fine. Unless it causes problems, I recommend using 1.0 with Panther. Unfortunately it may be a while before I get to do a 1.2 update - I no longer have access to a Mac at home :-(
So, what is this?
|
Classic Window Management gives you the option to have windows
in Mac OS X behave like they did in Mac OS 9, where all of an application's
windows stayed grouped together. So when you click on one window,
all windows belonging to that application come to the front.
|
 |
 |
OS X Style Window Layering
(windows from different apps can interleave) |
Classic Style Window Layering
(app windows stay grouped) |
|
The Classic Style Window Layering is particularly useful in the
Finder. Normally in OS X, when you click on the Desktop you switch
to the Finder, but none of its windows are brought forward. With
CWM, all open Finder windows are brought to the front, just like
they were in OS 9. (This was actually the primary motivation behind
this project!)
|
But the OS X Way can be useful!
|
CWM gives you the choice of which layering style you want to use
as a default - Classic or OS X. And you can set a modifier key you
can use to invoke the alternate style. So you can enjoy Classic
Style but still be able to bring just a single window forward when
you need it. Or using OS X Style, windows freely interleave, but
a modified click lets you easily bring all of an application's windows
to the front when you want to. It's the best of both worlds!
|
What are the requirements?
|
CWM runs on Mac OS X version 10.2 (Jaguar) or later. It also requires
Application Enhancer (APE) v1.2.1 or later (1.3 or later
recommended) from Unsanity LLC, as CWM is implemented as an APE
module. If you do not already have APE installed, it can be downloaded
free of charge from Unsanity's Web Site:
http://www.unsanity.com/haxies/ape
|
How's it work?
|
CWM is designed to be very unobtrusive and have minimal impact
on the system. As an APE module, it runs solely in application contexts
and therefore cannot affect the system as a whole if anything goes
wrong. CWM works by patching two routines (one for Carbon apps,
the other for Cocoa) which only get called when switching windows.
Said patch is just a few lines of code that request the system to
bring all of an application's windows to the front. So CWM uses
standard OS calls to do its job, and doesn't suck CPU cycles since
it's only active when it needs to be. For more details, see the
documentation included with the download.
|
What's it cost?
|
Nothing. CWM is freeware. I created it because I wanted this functionality,
and I'm releasing it because I think others may find it useful too.
I like the idea of giving something back to the Mac community. That,
and I feel this sort of thing should have been in OS X to begin
with. New features are cool and all, but options are even better.
|
Known Issues
|
* WindowShade X 3.0 interferes with CWM 1.1, preventing
it from working in Carbon applications. Unsanity's 3.0.1 update
to WindowShade X fixes the problem.
* Version 1.1 does not appear to affect Microsoft Internet
Explorer. It seems IE does something strange that is confusing the
new code that determines whether to install a Carbon or a Cocoa
patch. A fix is being investigated. (Meanwhile, if it's really bothersome,
you could try reverting to CWM 1.0, still available here.)
Thanks to Mychailo Toloczko for pointing this out.
* A very minor issue with Login Items set to Hide: CWM can
cause one or more of the "hidden" items to become visible
as they launch at login. This happens when using "Classic Style"
and appears to mainly affect Cocoa apps. Thanks to Nigel Perry for
spotting this.
The suggested remedy is to exclude the Login Items you wish to
stay hidden from CWM.
* CWM does not affect programs using Apple's X11 Public
Beta. This is not unexpected since APE does not support X11 programs
(they're a different form of executable). CWM support for X11 is
therefore a moot point.
|
Version History
|
1.1 - Fixed a bug involving improper framework
loading and improved compatibility with other Application Enhancer
Modules. Many thanks to Unsanity (Rosyna in particular) for catching
the problem and graciously providing code to help fix it.
1.0 - Final release! Updated for Application
Enhancer 1.3. Debugging code removed and compiled with optimizations
(file size reduced about 50%).
1.0b5 - Fixed a slight incompatibility with
the Application Switcher component of Keyboard Maestro. CWM now
deals with background processes a little better to prevent unwanted
window manipulations. Thanks to "Sandro" for alerting
me to the problem!
1.0b4 - Corrected an issue where closing the
frontmost window of a background Carbon application would inadvertently
cause that application to be brought to the front. Thanks to Josh
Whitver for catching that!
1.0b3 - First public release
|
Contact Information
|
Questions, complaints, bug reports, feature requests,
and whatever else may directed to me at:
rtimlin@allegheny.edu
|
Classic Window Management (CWM) is Copyright (C) 2003 by Robb Timlin
Uses Application Enhancer System, Copyright (C) 2002-2003, Unsanity LLC
All other copyrights, trademarks, etc. belong to their respective owners
5134
|