Is it possible to hide the dock on a per-application basis?

Solution 1:

This can be done, but you cannot hide just the dock per app. It will hide both the Dock and the Menu bar per app.

You just have to make a quick, simple edit to the plist file for the application. Check out this article from Mac OS X Hints:

To hack an app so that when it's active, the menubar and dock are hidden, you need to find its info.plist file. Control-click on the program in question, choose Show Package Contents from the pop-up menu, and then navigate into the Contents folder.

Once there, add the following to the file:

<key>LSUIPresentationMode</key>
<integer>4</integer>

Be sure that it goes in alphabetical order, otherwise it won't work (i.e. LSUIPresentationMode goes after LSMinimumSystemVersion but before NSAppleScriptEnabled). Save the file and enjoy.

You can change the value (in the example, it is 4) to 0 - 4. Apple's documentation has more details:

Value: 0

Normal mode. In this mode, all standard system UI elements are visible. This is the default value.

Value: 1

Content suppressed mode. In this mode, system UI elements in the content area of the screen are hidden. UI elements may show themselves automatically in response to mouse movements or other user activity. For example, the Dock may show itself when the mouse moves into the Dock’s auto-show region.

Value: 2

Content hidden mode. In this mode, system UI elements in the content area of the screen are hidden and do not automatically show themselves in response to mouse movements or user activity.

Value: 3

All hidden mode. In this mode, all UI elements are hidden, including the menu bar. Elements do not automatically show themselves in response to mouse movements or user activity.

Value: 4

All suppressed mode. In this mode, all UI elements are hidden, including the menu bar. UI elements may show themselves automatically in response to mouse movements or other user activity. This option is available only in Mac OS X 10.3 and later.