Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to "Skin" an application on Mac?

I want to skin an application I wrote, but do not know where to start. Is there anything like DirectShow (stardock.com), DotNetBar etc..for Mac that I can do this? (I do know these examples are for .NET, just using a point of reference.

If there is not, is there some source of information that will lead me in the right direction?

As an example...look at SongGenie

like image 929
PumaSpeed Avatar asked Oct 08 '10 13:10

PumaSpeed


People also ask

How do you put a skin on a Mac?

1) Wipe down the top of your MacBook with a dry, lint-free cloth. 2) Peel off the first inch or so of the backing paper. 3) Line the top of the skin with the top of your MacBook. Then lay the rest of the skin down to check if the sides are all lined up.


1 Answers

Personally I'd consider SongGenie a bad example of app skinning/theming.
The window's top gloss effect is way overdone and the overall theme contrast is way too harsh to be pleasant to the eyes.

Here are some simple rules of thumb for custom-theming OS X apps:

  1. Don't do it (unless there really is no way around it).
  2. Don't theme UIs for the sake of theming!
  3. If you have to do it, make it subtle! (don't force the the user to re-learn your UI)
  4. Make your theme match the system's overall style. (matte vs. glossy, etc.)
  5. See 1.)

Especially for point 4) SongGenie is kind of a worst case scenario: the app's style (apart from being utterly overdone) does not match the rather matte (vs. Windows 7's glossy) look os OS X. To give an example of properly style-conforming theming take Permute.app

So if you really, really want to (wait, if you really "must") do theming, then take a look at BGHUDAppKit for a technical starting point on how such thing can be done. But keep in mind that this project has some pretty bad performance optimizations. (massive method call redundancies and hardly any caching of such, or optimizations at all)

Again: Don't do it. Unless you're both a good dev and an even better UI designer.
And being a dev, odds are against you on the latter.

Alternatively to BGHUDAppKit, you might want to look at BWToolKit's (yet few) themed HUD controls.

UI design is to apps what typography is to print/writing:

»Good typography is what may have been a good servant, always at your service and yet not noticeable, inconspicuous, but a prerequisite of well-being, silent, smooth.«
Jan Tschichold

Original:

»Gute Typographie ist so, wie ein guter Diener gewesen sein mag: da und doch nicht bemerkbar; unauffällig, aber eine Voraussetzung des Wohlbefindens, lautlos, geschmeidig.«
Jan Tschichold

Edit: With Xcode 4 lacking support for IBPlugins and Apple's apparently being unwilling to bring them back at all (see Joshua Nozzi's comments or Apple's NDA inflicted ADC forums directly) there's even more reason not to skin your app.

like image 180
Regexident Avatar answered Oct 08 '22 18:10

Regexident