Feeds

Spice up your Apple applications

Splash of Aqua

  • alert
  • submit to reddit

Secure remote control for conventional and virtual desktops

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.

The essential guide to IT transformation

Next page: Take control

More from The Register

next story
Microsoft boots 1,500 dodgy apps from the Windows Store
DEVELOPERS! DEVELOPERS! DEVELOPERS! Naughty, misleading developers!
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
Mozilla's 'Tiles' ads debut in new Firefox nightlies
You can try turning them off and on again
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Scratched PC-dispatch patch patched, hatched in batch rematch
Windows security update fixed after triggering blue screens (and screams) of death
prev story

Whitepapers

5 things you didn’t know about cloud backup
IT departments are embracing cloud backup, but there’s a lot you need to know before choosing a service provider. Learn all the critical things you need to know.
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.
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.
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.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?