Hacking Leopard Help

Update: A better way to improve the help viewer’s usability is documented here.

Mac OS X 10.5’s help viewer application is widely considered to be a piece of crap. Unlike the help viewer in previous iterations of Mac OS X, it presents no Dock icon, no proper menu bar, and exhibits an annoying tendency to obscure the application you needed help with in the first place.

So, fix it. Or at least have your vengeance by grossly disfiguring it.

Navigate to /System/Library/CoreServices. Copy Help Viewer.app to the Desktop, right-click the copy, and select Show Package Contents.

Open the Contents folder and open Info.plist. Change the value of the LSUIElement property to 0:

lsuielement

This makes the application’s Dock icon and menu bar visible. There are definitely some quirks (keyboard shortcuts don’t seem to work as expected), but it works.

Next open the Resources folder and the appropriate subfolder for your localization (English.lproj in my case). Open HelpWindow.nib with Interface Builder and select the HelpWindow item:

helpwindownib

Display the Inspector (from the Tools menu) if it is not already visible and display the Attributes pane. Uncheck Utility and Non Activating under Panel Style:

panelstyle

This makes the help window look and behave a bit more like a regular window. Unfortunately, I can’t figure out how to prevent it from floating above other windows (perhaps that behavior is not controlled by the nib file). However, if you check Hide On Deactivate under Window Behavior in the same Inspector pane, the help window will at least sweep itself out of the way when you bring a different application to the front.

windowbehavior

Clicking the help viewer’s Dock icon makes the window visible again, but also creates a new help window.

To apply your changes, save and close HelpWindow.nib and drag your copy of Help Viewer.app back to /System/Library/CoreServices. You’ll need to authenticate the copy operation since you really shouldn’t be diddling around in this directory. (You did make a back up, didn’t you? Good. Neither did I.)

You can test your modified copy of Help Viewer before copying it back to CoreServices, of course, but it won’t handle requests from the Help menu until you do.

Now when you seek help, Help Viewer will actually show up in the Dock. You’ll have menus, and you can even open multiple help windows. Unfortunately, the program launches in the background, so you’ll still have to switch applications with Command-Tab or click the Dock icon to view the requested documentation.

Please share any corrections, clarifications, or further contributions to the cause! I’m no Cocoa or Interface Builder expert. Most importantly, minimize the need for constant help consultation by thinking carefully about the use and design of your application. Put reference material in a nice PDF and call it a day.

Posted on Wednesday, January 30th, 2008. Tags: .

One Response to “Hacking Leopard Help”

Posted by Brother Infinity on Tuesday, February 5th, 2008 at 8:21 PM.

holy crap!

thank you!