Feeds

Spice up your Apple applications

Splash of Aqua

  • alert
  • submit to reddit

Top 5 reasons to deploy VMware with Tegile

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.

Providing a secure and efficient Helpdesk

Next page: Take control

More from The Register

next story
Google+ goes TITSUP. But WHO knew? How long? Anyone ... Hello ...
Wobbly Gmail, Contacts, Calendar on the other hand ...
Preview redux: Microsoft ships new Windows 10 build with 7,000 changes
Latest bleeding-edge bits borrow Action Center from Windows Phone
Microsoft promises Windows 10 will mean two-factor auth for all
Sneak peek at security features Redmond's baking into new OS
Google opens Inbox – email for people too thick to handle email
Print this article out and give it to someone tech-y if you get stuck
UNIX greybeards threaten Debian fork over systemd plan
'Veteran Unix Admins' fear desktop emphasis is betraying open source
DEATH by PowerPoint: Microsoft warns of 0-day attack hidden in slides
Might put out patch in update, might chuck it out sooner
Redmond top man Satya Nadella: 'Microsoft LOVES Linux'
Open-source 'love' fairly runneth over at cloud event
prev story

Whitepapers

Cloud and hybrid-cloud data protection for VMware
Learn how quick and easy it is to configure backups and perform restores for VMware environments.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
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?
Three 1TB solid state scorchers up for grabs
Big SSDs can be expensive but think big and think free because you could be the lucky winner of one of three 1TB Samsung SSD 840 EVO drives that we’re giving away worth over £300 apiece.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.