Musings from Mars Banner Image
For Software Addicts: Yes!MaybeNah!
Mars Report:

CrystalClear Interface Update: Version 1.9.1

Published March 24th, 2008
CrystalClear Interface: Where No Theme Has Gone Before
Update 3/24/08: New download of 1.9.1 posted. Yesterday’s post inadvertently had the 1.9.0 installer instead of the 1.9.1 installer. Sorry!

Update 3/23/08: This release fixes a problem with the uninstaller, and is otherwise the same as 1.9.0. The uninstaller now runs a new utility, GraphicsToggle, after running the installer/uninstaller, and this takes care of making sure the Leopard graphics are fully restored. See the documentation included with the download for more information about GraphicsToggle.

Since releasing the last version of CrystalClear Interface (CCI) in January, I’ve been hard at work on a lengthy—and, it sometimes seems, never-ending—list of bug fixes. Given what CCI is trying to accomplish, I don’t suppose I’ll ever release a bug-free version. However, I’m pleased to say that version 1.9 is much better behaved than 1.8.

Of course, the really fun part for me is seeing what else I can get CCI to do in the way of theming various aspects of Aqua. Many of the experiments in 1.9 are customizations I would have relied on ShapeShifter for if it were available for Leopard. However, it appeared that Unsanity was going to be some time in getting a Leopard-compatible ShapeShifter finished, and (no offense, Apple!) I’ve really gotten bored (sick?) of the Aqua “theme.”

I mean seriously, Aqua is soooo 2001! I don’t know about you, but I’ve been itching for something insanely different for awhile now. Leopard is a marvelous upgrade in many ways, and yes, it did finally introduce the much-requested “unified” theme for OS X windows, a controversial (why?) new menubar, and a cool new Dock, but overall its look and feel is the same-old, same-old Aqua we’ve used since Mac OS X 10.0. Seven years is a long time in the Internet age, Steve! (But you know that, I’m sure… we all have our multiple priorities to juggle.)

There really are too many enhancements in CCI 1.9 to list them all here, but here a few of the highlights:

  • Transparent scrollbars. I’ve been trying to make these in ThemePark and ShapeShifter forever, but finally gave up some time ago. I’m pleased to say that I was successful in bringing them to shiny life in CrystalClear Interface 1.9!
  • Titlebar Buttons. There’s nothing exciting in titlebar buttons per se, but Leopard windows refuse to use the ones you slip into Extras.rsrc, so I had to try to the CCI route. It worked!
  • PopUp Buttons. In another experiment, I tried banishing Aqua from my popup buttons by forcing them to adopt a different, Apple-designed “bezel style.” As I am quite fond of the “recessed” bezel style introduced in Tiger, I chose that one.
Transparent Scrollbars in CCI 1.9Customized Toolbar Buttons in CCI 1.9Customized PopUp Buttons in CCI 1.9Customized Segment Buttons in CCI 1.9New Theme with CCI DisabledCustom HUD Buttons & Bevels
  • Other Buttons. The trick I used for popup buttons came in handy for theming other buttons as well… again using alternative “official” bezel styles. You’ll see the shiny metal theme used for segmented buttons and push buttons (including toolbar buttons like those used in Mail). Disclosure buttons also get a tweak.
  • HUD Windows. I also did some work on this kind of window, trying to unify the look across the various applications that use them, and across the kind of “utility” window they represent.
  • Text Color Contrast. My attempt to make sure all text is readable regardless of the window color, level of opacity, or desktop picture you may prefer has improved in 1.9. Still needs work, but it’s much better.
  • System Graphics. I decided to go ahead and release a custom version of Extras.rsrc (and Extras2.rsrc for Intel Macs), since it incorporates some of the system graphics I haven’t had time or been able to customize using Cocoa in CrystalClear Interface itself. In this category are things like tab bars, tab bar background bevels, text field overlays, progress bars, radio and check buttons, and a few others. The CCI 1.9 install program includes an option to install these graphics if you choose. (An uninstall option restores the original system graphics files.) It’s important to note here that most of the graphics in the Extras resource files only work by disabling some of the new Leopard graphics. In the Preferences for CCI 1.9, I’ve added some options to let you choose whether or not to use CCI graphics in this manner. You can opt out of CCI’s graphics either globally or for individual applications.
  • New Window, Toolbar, and Titlebar Gradients. I started playing with Leopard’s new NSGradient class and discovered how easy it is to create cool gradients for these window elements. In CCI 1.9, you’ll discover most of these when you set CCI to “Disabled” for a particular application. However, the new gradients also show up in some Carbon applications like the Finder or PhotoShop when you call forth an Open or Save dialogue box. In a future version, I’d like to make this window style an optional variant within CCI Preferences. Along the same lines, you’ll find some HUD style windows popping up even if you have CCI disabled.

Sad to say, all of these enhancements do come at a price.

No, I’m not talking about money (though I’d really like a few bucks one day for all this toil and trouble!) The price is that I’m jettisoning support for Tiger (Mac OS X 10.4) as of CrystalClear Interface 1.9. I had intended to keep CCI running on Tiger for some time, but even though I had coded to keep Leopard-only code out of Tiger’s way, when time came last month to test what I had, it became clear pretty quickly that Tiger just didn’t want to play along. Not only do I have a real shortage of time, but my only Tiger test system is going away soon, so I won’t even have a way to test if I did have the time.

So… sorry, Tiger fans. The good news is that you still have ShapeShifter to satisfy your diet for theming alternatives. In the meantime, save up your money and upgrade to Leopard when you can… if for Time Machine alone, it’s well worth it! (Time Machine seems more awesome too me the more I use it. How did I ever get along without it?)

And Leopard fans, rejoice! CCI 1.9 begins to feel like an actual, complete theme… and one of the only options I’ve got at this point.

What Does CrystalClear Interface Do?

Rather than repeat everything from the January article, I’m just going to link to it. It has a section with the same heading as this one that runs down all of CCI’s features pretty well.

However, because of continuing confusion about where you can access CCI’s Preferences window, I’m reiterating that info here. As with the previous versions, you access CCI Preferences by clicking on the small, round icon in any application in which CCI is loaded. For example, here is where CCI’s menu appears in TextEdit: CCI's Icon in TextEdit Menubar

Caveats for CCI 1.9

So, CCI 1.9 does all these cool things, but what’s the downside? Well, I wouldn’t be a good wizard if I didn’t warn you that “Yes, Dorothy, there is a dark side to CrystalClear City.”

  • Although there are fewer cases that I know of this time around, you will undoubtedly encounter an application that doesn’t work well with CCI turned on. In this case, you should try just disabling CCI for that app by using the checkbox at the top of the CCI Preferences panel.
  • Aperture crashes when you terminate it. It works fine otherwise.
  • Small scrollbars need a smaller image to go with them. In addition, empty scrollbars may show a small, unnecessary piece of themselves at the top of the scroll track.
  • In apps such as Mail and Activity Monitor, the layout of items in a given Preferences panel tab gets messed up if you close and then reopen the panel.
  • In some Carbon apps, such as Photoshop, you’ll find that the background window color doesn’t match the background color of button controls and/or text.
  • Buttons don’t always get themed when you first open a window or tab item. You can force them to theme themselves by tabbing to a different keyboard input control, or by clicking in an inactive text field.
  • The Crystal Menubar still isn’t always showing its state correctly in the CCI menu.
  • You may find memory usage higher than usual in some applications… although I’ve done a lot of memory-leak cleanup, you can never do enough, it seems. I find Safari and iWeb, in particular, get draggy over time, but they snap back when I restart it. (I do think CCI makes iWeb more crash-prone than usual.)
  • When you have CCI disabled in an application, you may find a window (usually one such as a preference panel or utility window) that refuses to be dragged. This problem occurs when you first disable CCI in an application and will be eliminated by restarting the app.
  • If you have CCI disabled and then re-enable it, one of the windows may take on a “shadowy” appearance. You can workaround this by closing the window’s toolbar and reopening it. Or it will go away if you restart the app.
  • In Pages with CCI disabled, you will experience a lag in keystrokes initially. To fix the lag, resize the window slightly. The problem will not recur during the current Pages session.
  • In Numbers with CCI enabled, attempting to use one of the popup buttons on the toolbar will cause the app to crash. To workaround, either disable CCI or do some work in your spreadsheet before clicking on a toolbar popup button.
  • With CCI disabled, some HUD-style, dark-background windows use black text rather than a contrasting white, as they do with CCI enabled.

As before, Crystal Clear has much more of an effect on Mac OS X apps that were developed using the “Cocoa” frameworks than it does on apps developed with the older “Carbon” frameworks. Some apps are a mix of the two frameworks, so some windows may get themed “clear,” while others won’t. Most of the applications Apple builds are Cocoa apps, with the notable exceptions of iTunes and the Finder. Nearly all new Mac apps built today use the Cocoa frameworks, but a number of high-profile apps that have been around for years are still built with Carbon. In this latter category are all apps from Microsoft and Adobe, as well as some older apps from Mac vendors that are now building with Cocoa, such as BBEdit (BareBones).

It’s also important to note that CCI 1.9 will be most enjoyable if you run it on a recent-model Mac with at least 2GB of RAM and a 2Ghz or better processor.

Information about Cocoa InputManagers on Leopard

Left To Do For Future Versions

No, I’m not done yet, much to my wife’s dismay. :-) Although I intend to take a break for awhile (if I can drag myself away…), here are a few things I still want to incorporate into CrystalClear Interface:

  • Menus.
  • Menubar.
  • Focus highlight color.
  • Spotlight.
  • Did I mention Menus?
  • Other applications.
  • Finder and other semi-Cocoa Carbon apps.
  • Expand CCI Preference options.
  • Allow user customization of window elements (backgrounds, buttons, etc.)
What’s in the CCI Download Package?

Not nearly as much as before! Besides some nice desktop pictures, documentation, and a screenshot, the 1.9.1 package just includes the CCI software installer, which lets you do the following:

  1. Install CrystalClear Interface 1.9.1. This installation also checks to see if you have an old version of SetAlphaValue installed and moves it to a (Disabled) folder, since it can conflict with CCI.
  2. Optionally install system graphics. This option is off by default, but if you want to use the custom “Extras” resource file included in the CCI installer, click the checkbox before running the installer.
  3. Uninstall. The Apple PackageMaker program doesn’t make including an uninstaller very elegant, but I’ve put one in anyway. If you want to uninstall CCI and the custom system graphics at any time, run the CCI installer again and select the uninstall option. (Be sure to deselect the install option if you do this.) Note: The install program will still label the Uninstall step as an Install step.

Download CrystalClear Interface 1.9.1 (7.7 MB)

Update 3/16/08: If you uninstalled CCI 1.9.0, and buttons in the Finder and Safari no longer have the new “Leopard” look, download GraphicsToggle and run it. Just doubleclick on the GraphicsToggle icon, and it will do its thing and then quit the Finder. You’ll need to relaunch the Finder to complete the restoration.

Update 3/23/08: The new CCI 1.9.1 package not only includes GraphicsToggle as a separate app, but also incorporates it into the installer/uninstaller, and this takes care of making sure the Leopard graphics are fully restored. See the documentation included with the download for more information about GraphicsToggle.

Note: If you’re looking for the ShapeShifter theme, the Crystal Albook iconset, or other extras, you can download them from the Mars Themes page… select Crystal Clear (for ShapeShifter) version 1.5.

Screenshot with CrystalClear Interface 1.9

© 2008, Leland Scott, Musings from Mars

0Use of this software is free of charge, but redestribution or modification is prohibited without the author’s permission. All rights reserved. The author assumes no responsibility for any damage to your system that may result from the use of this software. Please be sure to read all instructions and information in order to make the most of CrystalClear Interface.

Version History
1.9.1 03/23/08 Incorporates a new utility as part of the uninstall process that makes sure the Leopard graphics are fully restored to their original state. This program, GraphicsToggle, is also included separately in the download package for users of CCI 1.9.0 who want to use it after uninstalling.
1.9.0 03/12/08 Significant improvement in stability, and numerous extensions in capability. CrystalClear Interface 1.9 begins tackling theming chores previously handled by ShapeShifter, and also makes its presence felt visually on “disabled” apps. The installer optionally installs a system graphics file that replaces some images with those from the ShapeShifter version of Crystal Clear. Note: Starting with this release, CCI will only run on Mac OS X 10.5 (”Leopard”).
1.8.12 01/02/08 Additional round of performance optimizations and bug fixes. Targets include iPhoto, iChat, PhotoBooth, iWeb, and, on Leopard, QuickLook. Crystal Menubar’s launch mechanism still needs work, but it should no longer drop down the screen when you enter full-screen mode in an application.
1.8.0 12/1/07 CrystalClear Interface was numbered early in development, since it was conceived as an extension of the ShapeShifter theme, CrystalClear. However, things turned out a bit differently. The article on Musings from Mars explains.
1.5 9/7/07 Crystal Clear 1.5 was developed to complement CrystalClear Interface, then in development.
1.2 6/6/07 Crystal Clear 1.2 introduces a new approach to the system menubar that attempts to solve the problem created by backgrounds in menu extras there. There are many other new interface elements as well as some fixes to earlier ones. This version does not include the Crystal Albook icons, but they can be downloaded separately. See this article for the latest information on Crystal Clear releases.
1.1 4/19/07 Crystal Clear 1.1 has several major new interface elements as well as a newly designed, full set of Crystal Albook icons (version 1.0).
1.0 3/26/07 Crystal Clear 1.0 provided a complete package, with both “Lite” and “Dark” variants included. This release also included an initial set of Crystal icons based on the Albook icon set.
0.6 3/2/07 Introduced a variant called Crystal Clear Lite, which utilizes translucent white menus instead of translucent black ones. The variant also incorporated numerous other improvements and bug fixes to the original release.
0.5 2/13/07 First release of Crystal Clear. This version is what became known later as Crystal Clear Dark. The development of Crystal Clear was described in this introductory article on Musings from Mars. A few days earlier, this preview article appeared, with many application screenshots.

  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx

Show Comments
Just Say No To Flash