Cocoa Goodness

How It Helped

Uli Kusterer


Showed how to implement code-posing, as well as how to use a category for NSColor. I ultimately used a different approach to theming the windows, but this little class was a very useful teacher.

Matt Gemmell

NSColor+ ContrastingLabelExtensions

PolishedWindow (and the TunesWindow project/demo that contains it)

Very simple, but effective, I tweaked this class slightly in implementing it in CrystalClear Interface. Mostly, I'm still working on a reliable method to get the color of a pixel at a given point and then pass that to Matt's method. I have a method colorAtPointInView that's used in changing the text color in panels with tab arrays, but I'd like to extend its use to other cases, since this concept, as I've pointed out before, is key to usability.

Polished Window takes the approach that I ultimately settled on for theming the frames of CrystalClear Interface windows. Where Matt's code only allows for resizing in the top and bottom parts of the window, I modified the method to enable resizing of graphics in the middle as well. It's a very simple, but effective, approach that lets me employ three different "frames" for different purposes. Ultimately, I want to allow end-users and designers to build their own frames, either for their own use or to share with the rest of us.

Dave Batton


This is probably the code that gave me one of the biggest "A-Ha!"s I experienced while developing CrystalClear Interface. I believe I ended up using Dave's technique for the clear "highlights" that decorate each window, but it was his demonstration of what's possible that's got to be seen to be appreciated! 

Wade Tregaskis

Rotated Windows
(a/ka Wild Windows)

Wade now works for Apple, but prior to that he was instrumental in unlocking the mysteries of Mac OS X CoreGraphics Services. Wade doesn't maintain a copy of this ancient project on his own blog, but you can get to it via the link.

Jeff Ganyard

Styled Windows

Here's another beautiful demo showing how to customize a Cocoa window with an interactive interface. I didn't use any of this code, but I loved reading it! As Jeff notes, he borrowed some code from Matt Gemmell's TunesWindow sample for this project.