Combining Leopard themes your way
I’ve recently been asked to make a small tutorial on how to combine one aspect of iTunesque with iLeopard, because iLeopard did not include that specific option and did things differently.
Here is therefore a tutorial on how to combine elements of themes you like on Mac OS X Leopard.
Tools
Before doing anything else, the user should download some tools. Now, the free Architect exists, but it’s not exactly what you’ll want, because it requires an (as of yet) unreleased application which will cost 10 USD to apply themes.
This tutorial is therefore useless if you plan on waiting for Façade, this unreleased app. Theming with Architect + Façade is easier than this tedious method.
Instead, we’ll take a look at other tools, more “primitive”, but which will ensure that you can do the whole process for free. It’s going to be more tedious, however.
So, go to MacThemes and grab ArtFileTool and ArtTools, and grab ThemePark as well.
These three tools each serve a different purpose, because they each deal with different kinds of files. So, how to know which one you’ll need to use?
Leopard’s UI: which file does what
So far, Leopard theming isn’t completely doable. It will only be considered “nearly completely doable” when Architect and the accompanying app, Façade, are officially released.
Because of the current absence of an “all-in-one” theming application besides Architect, we’ll have to edit the files separately. Here is a (simplified) summary of what each file does.
The so-called “ArtFile” is known to draw most of the UI elements, from traffic lights to the shape of buttons, via list headers.
This file can be read thanks to ArtTools.
The “SArtFile”, on the other hand, draws the menu bar (when not transparent) and the colour of the drop-down menus available from that menu bar.
This file is read thanks to ArtFileTool.
Finally, the “Extras” files (two of them) were used in Tiger, but are now only used for progress bars and scroll bars.
These are edited with ThemePark.
Note: PowerPC Mac users need only use the “Extras.rsrc” file, whereas Intel Mac users have to use both the “Extras.rsrc” and the “Extras2.rsrc” files (on Intel Macs, Extras is used for PPC apps, and Extras2 is used for Intel-only and Universal apps).
Where are the files?
This is the more annoying bit: the theme files are located deep within the Mac OS X “System” folder, and most of the few released themes come with an automated installer only, not with the files themselves readily accessible.
If you want to combine two themes, I therefore suggest the following method: install the first, copy the resulting files to your Desktop in a “Theme 1″ folder (or some other easily accessible place), and then install the second before copying the resulting files to a “Theme 2″ folder.
Fortunately, you can reach these files’ locations easily using Finder’s “Go To Folder” feature (Shift-Cmd-G).
ArtFile.bin & SArtFile.bin:
/System/Library/PrivateFrameworks/CoreUI.framework/Resources/
Extras.rsrc & Extras2.rsrc:
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/
And now that you have those files, you’re ready to roll.
Using the files
ArtTools and ArtFileTool are applets that will decode and re-encode ArtFile and SArtFile respectively, whereas ThemePark directly edits the Extras files.
If you want to use elements from one theme in another, here (finally) are two short examples.
Example 1: scroll bars
Say I want to use the scroll bars of iTunesque in iLeopard, because I see that iLeopard only has grey scroll bars in Graphite mode, not the blue ones similar to the iTunes ones.
Scroll bars are found within the Extras files, so, as an Intel Mac user (I have a MacBook), I have to use both Extras and Extras2. They are completely identical files when you look at the output in ThemePark though, so you can copy resources from one Extras2 into an Extras without a problem.
In the iTunesque Extras, in the “pxm#” field, I do a search by name of “scroll”, because these resources are named. If I open the iLeopard Extras and do the same search, the same results will appear, and from then onwards, it’s a simple “copy & paste” operation (select all the images in one resource of your “source Extras”, copy, and paste in the same resource of your “target Extras”). Tedious, but it works.
At the end, if you’re an Intel Mac user, be sure to “Save As” both Intel and PPC, so you end up with an Extras and an Extras2.
Example 2: traffic lights
Say that you want to use the traffic lights of iLeopard in the KISS Me theme (based on MobileMe).
Traffic lights are found in the ArtFile.bin file, so you’ll decode both the iLeopard and the KISS Me files with ArtTools.
The result is a long list of folders, all containing different UI elements. And the folder called “titlebarcontrols” contains all the traffic light resources.
Here, replacing is easy: you just copy the titlebarcontrols folder of iLeopard to KISS Me, and encode the result with ArtTools.
Applying the modifications
Saving your theme as you want it to be isn’t enough. You still need to apply it.
If you try replacing ArtFile.bin directly (or any other of the theme files), nothing will happen, because they are protected.
Instead, what you have to do is delete the file (authentication is required), and only then can you drag & drop your new theme file into the destination.
Basically, the method for applying a new theme file is not “replace” or “drag & drop”. It’s “delete, drag & drop”.
21 September 2008 at 02:06
ad Example 1: just tedious?! it’s a Herculean task !
do you know of any other way to copy & paste
+100 sets of 3-15+ images with their masks?
(tried to copy all of them and overwrite the other Extra file
but it doesn’t seem to work this way)
I didn’t know Architect + Façade, but ThemePark & ShapeShifter,
do they do a better job?
thanks for the tutorial
21 September 2008 at 09:56
ShapeShifter hasn’t yet been updated to work with Leopard, and at the MacThemes community, they’ve kind of abandoned those hopes.
But Architect is in public beta (and will remain free), and once Façade comes out (if you pay 10 USD), they will together be far more powerful (and cheaper) than ShapeShifter.
The only things that I believe won’t be changed with Façade+Architect are system fonts.
Now, regarding example 1, there is an “easier” way of doing it thanks to the keyboard.
You know the Cmd + Tilde shortcut for switching windows? (on AZERTY keyboards, it’s “Cmd <“)
Because in ThemePark, using the arrows allows an easy navigation, and so you can combine arrows, “Cmd C”, “Cmd ~” and “Cmd V” to go much faster.
Step by step, it gives this:
- in the “Source Theme” windows in ThemePark, go right until you reach the images. All images are selected.
- copy
- switch to “Target Theme” window, and select the images in the same way
- paste
- switch back to “Source Theme”, go left, down, right, and you’ll be selecting the next images
16 May 2009 at 15:23
Thank you so much Peter!
You have no idea how I was thrilled to find this post of yours!
I am a complete ignorant when it comes to Leopard theming and I wanted to change only the traffic lights.
I have a question though… may I?
The only thing I have to do is the procedure you discribe in “Example 2: traffic lights”, but with Leopards default ArtFile and the ArtFile from a theme that contains the desired traffic lights?
I ask this because I have read something about 2 other files (extras.rsrc and extras2.rsrc) that really confused me…
Would you please shed some light on this?
Thank you so much!
16 May 2009 at 15:53
Hello Pedro,
There are two theming methods to be distinguished. The first concerns what is called “disabling CoreUI”, and this allows users to use themes made for 10.4. However, many people have reported that disabling CoreUI has an impact on performance, and it is anyway not the method Leopard uses by default to draw the UI.
The second method replaces resources used by Leopard by default, and this is the method I use in iTunesque and in the above tutorial.
Now, Extras.rsrc & Extras2.rsrc are remnants of the Tiger UI method, because Leopard has not yet fully ditched the Tiger UI controls.
As such, Tiger themes are able to work in Leopard through the replacement of the Extras files and the disabling of CoreUI.
In “normal” Leopard, Extras.rsrc and Extras2.rsrc are only used for progress bars, scroll bars and a couple of such elements. The rest of the UI in Leopard is based on ArtFile.bin and SArtFile.bin (plus a couple of mysteries that haven’t been fully cracked so far, it would seem).
As such, traffic lights in “normal” Leopard are drawn by ArtFile.bin (in its “titlebarcontrols” section).
The result of this is a two-way procedure: if you have a Tiger theme, you can either apply it (to some extent, and at your own risk) by disabling CoreUI after replacing the Extras files, or you can port it to “normal” Leopard by using the resources in the Extras files as a basis for the “titlebarcontrols” images of ArtFile.bin.
Does that make more sense?
16 May 2009 at 16:59
Thank you so much for such a great lesson!
It was really important so I can understand a bit more about this!
I don’t know what kind of theme I have…
I was sent these files:
- “Extras.rsrc” and “Extras2.rsrc”
- “SArtFile.bin”
- “iTunes.rsrc” and “Localized.rsrc” (for iTunes I presume)
I really don’t want to be much trouble to you, but how do I extract the resources from the “extras”?
Once again, thank you so much for your help Peter!
16 May 2009 at 17:42
Is it a full theme? If it’s a full theme, then you’ll need to disable CoreUI to get it to work, because there is no ArtFile (which is used in full themes using the “default” Leopard mode). But it may be that you have a “light” theme that works in “default” Leopard, because ArtFile is not necessary in all cases. Still, odds are that you’re in possession of a “CoreUI disabled” theme.
Localized.rsrc is not necessary, to my knowledge (I’ve never seen it used).
To “extract” resources from Extras files, you need ThemePark (linked to in the tutorial) to read the resources and an application such as Photoshop (there’s a built-in “send to Photoshop/retrieve from Photoshop” feature) to edit them. From then onwards, you just need to copy the graphic and make new ones.
17 May 2009 at 01:45
Thank you so much Peter!
I’ll give it a couple of tries to see if I can do this!