Feeds

Spice up your Apple applications

Splash of Aqua

  • alert
  • submit to reddit

Boost IT visibility and business value

Mac Secrets Apple's "Professional" range of applications such as Final Cut Studio, Aperture or Logic Express have a completely different look to the standard Aqua color scheme. This comes courtesy of a private framework called ProKit.framework, intended to make Apple's professional software stand out from the crowd.

And stand out it does. Personally, I'm not a huge fan. The relentlessly grey color scheme is drab and I find the default font small and fiddly. From a visual perspective, I hate the cramped little dialogs that appear in Aperture, such as at the Preferences dialog.

A standard Aqua look would have been much cleaner, in my view. If any other developer had come up with this, they'd be roundly castigated for his non-standard user interface but, being Apple, they get away with it.

With that in mind, I'm going to show you how to use the ProKit library to customize your applications.

Framework uncovered

First, create yourself a new Xcode Cocoa application in the usual way and then add ProKit.framework to the list of linked frameworks by dragging it from its hiding place in /System/Library/PrivateFrameworks/. You should find that the app will still build and run just fine.

On background, I believe that ProKit.framework is installed as standard under Leopard, so if you're adventurous enough to use the techniques described here in a production app, then you'd be wise to specifically target Leopard. If you need to support Tiger, direct your users here.

Now go into Interface Builder, select the application window, bring up the Inspector and change its class name from NSWindow to NSProWindow. Also be sure to select the "Textured" checkbox before saving and returning to Xcode. If you now rerun the app, a wondrous sight will meet your eyes: your program will sport the same monochrome look as Apple's pro-level tools.

This is cool, but what we really want to do is use some of those ProKit controls, right? Before you can do this, you need to make one small change to your main.m source file. Just open the file and change the call to NSApplicationMain into a call to NSProApplicationMain. You might also want to add an extern reference to the new call so as to stop the compiler from whinging. When you're done, things should look like this:

extern int NSProApplicationMain (int argc, const char *argv[]);

int main (int argc, char *argv[])
{
        return NSProApplicationMain (argc,  (const char **) argv);
}

With that small change, various parts of the ProKit framework get initialised behind the scenes, so we're now ready to use those new controls.

Boost IT visibility and business value

Next page: Take control

More from The Register

next story
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
Leaked Windows Phone 8.1 Update specs tease details of Nokia's next mobes
New screen sizes, dual SIMs, voice over LTE, and more
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
Mozilla keeps its Beard, hopes anti-gay marriage troubles are now over
Plenty on new CEO's todo list – starting with Firefox's slipping grasp
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Backing up Big Data
Solving backup challenges and “protect everything from everywhere,” as we move into the era of big data management and the adoption of BYOD.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.