862 words on Mac OS X , Patches
I am not a friend of metal windows. Back in X.3 I downloaded a neat patch which simply killed every system-provided metal window and turned it into a simple grey one which still included the light effects of metal windows. Not a perfect solution but reasonably good one for my taste – particularly as metal applications tend to use slightly different visuals which don’t fit in too well with the lighter non-metal windows.
After installing X.4, I started to feel how much I got used to that patch and somehow I couldn’t find it again, which was a pain. With the new ‘unified’ window type in X.4 the whole window situation has become even more tricky and people are trying all sorts of things such as changing window types on application launch to replace the metal theme by either the unified or the normal window type – depending on whether they have a toolbar or not. Pierre Chatel’s new Unifier hack works along those lines and can give pleasant results in some applications.
Seeing that and its shortcomings increased my taste for getting rid of the metal windows once more, so I had a look around in the System folder. The relevant UI graphics seem to come from the HIToolbox framework which is part of the Carbon framework. Interestingly they are stored in resource files rather than those supposedly more modern techniques of having a separate image file for each graphic. (I say supposedly there because resource files seem far superior to me. The ‘modern’ technique just looks like a convenience for developers at the cost of making things slow to copy and – I assume – also slower to load).
Unfortunately Apple have dropped any support for editing resource files with OS X. Which means playing with them is as royal a pain as you can have. Despite there being attempts at having native resource editors on OSX (ResFork, ResTool), neither of them is any better than our ancient friend ResEdit – which is the only application I use in Classic these days.
Due to ResEdit’s age, it can’t deal with the data fork resource files which became en vogue with OS X. So you’ll have to convert the files OS X uses before editing them and re-convert them afterwards. (This can be done quite easily in the Terminal doing something like
touch newFile
to create a new file and
cp DFResFile newFile/rsrc
to copy a data fork resource file into its resource fork. It’s complicated enough to annoy you when you have to do it the fifth time in a row. And too easy to be worth making an Automator action for.
Once ResEdit is running, you’ll want to take a look at the PXN#
resources where all the graphics are stored. ResEdit can’t edit those (and neither can the newer editors as far as I can tell) and the format looks like a bit of a pain. I learned that there’s a very simple Classic application with the nice name Pixie that’ll convert the resources to strangely arranged images and back.
For my purposes using an all black image (that should probably have a width divisible by 4) with Pixie was good enough so this wasn’t as painful as it sounds. This doesn’t make the window look black as there still seem to be some masks and gradients at work. Replacing the most offending resource (ID 4460) with my newly created one, gave me what pretty much looks like the same effect that the old patch I had downloaded gave. Plainly grey windows with a light gradient.
I assume this could do with slightly nicer graphics and a better understanding of what’s going on. But as what comes out was good enough for me, I decided that I won’t spend more time on fixing the bug that are metal windows – although I’d be interested in seeing other improvements.
If you want those changes as well, I’ll offer them as a handy download akin to the patch for iTunes last year. It should go without saying that you’re totally on your own with the instructions that follow and that playing around with them can seriously ruin your system. Perhaps even following my instructions precisely will, I don’t claim that I know what I’m doing. So be careful. You’ll need a Terminal window and an administrator account for this to work…
Warning: this will only work on PowerPC based Macs. For Intel based Macs a different file needs to be patched with a different file. To do that replace every occurrence of ‘Extras’ in the commands below with ‘Extras2’. Read more about the Intel situation.
And that’s essentially it. You may want to clean up after yourself and get that backup file out of the system folder. Applications you launch afterwards should have metal-less metal windows.
Would you mind directing me to the patch you used in Mac OS X 10.3?
I’m still using that version, and have no plans to upgrade soon — but all I could find are patches that completely replace the metal-textured windows with white one, which makes their controls looks even worse.
Sorry Shay,
I couldn’t find the old patch on the internet anymore. Which is why I made my own patch.
With a bit of luck what I describe works in X.3 as well… but I currently don’t have a copy around to check that.
I already tried that: according to ResFool, resource ID 4460 in Extras.rsrc is titled “Metal Window Texture”; but replacing it with your versions yield creates a completely black windows: I guess the drawing order changed between 10.3 and 10.4.
I’d edit the bitmap myself, but I really don’t have the time to install Classic, etc.
try UNO -> gui.interacto.net