**WARNING: VERY NERDY**

Recently I have found the need to take more control of the Dock in OS X. There are basic functions of the Dock that can be changed by System Preferences built into OS X, but there are tons of options that aren’t available by a built in Graphical User Interface (ie. the pretty window).

While there are some awesome third party apps like Onyx and TinkerTool that give you access to these preferences the downside is you have to install an app. While I have both of these installed on my personal machine I do not want them installed on my Labs in the schools I work for. Yet, I need some of the power they offer to keep my Labs uniform and running.

So to do this I have been trying to learn how to manipulate these preferences though the command line.

The function that kids always seem to find and mess with is the size of the dock. Even with Parental Controls enabled (which I have had quite a bad time with anyway) there is no way to lock this functionality down in System Preferences. So I present to you the ability to do it through Terminal, and in so doing through Apple Remote Desktop as well.

 

Too little for me to see!!!

Too little for me to see!!!

And if you are going to push this out, to lets say, a lab of computers you may want to make all of the uniform first. If not, skip this step.

Resize dock to uniform level:

       defaults write com.apple.Dock tilesize -integer 32

Ok now the meat and potatoes.

Lock down ability to scale dock:

       defaults write com.apple.Dock size-immutable -bool true

       killall Dock

Unlock ability to scale dock:

       defaults delete com.apple.Dock size-immutable

       killall Dock

Much better.

Much better.

This is tested and works in OS X 10.5.6.

**Thank you TinkerTool, Daniel, and Justin.

**Update 2/27/09: Here is the command to lock the contents of the Dock as well.

Lock Dock Contents:

        defaults write com.apple.Dock contents-immutable -bool true

        killall Dock

Unlock Dock Contents:

        defaults delete com.apple.Dock contents-immutable 

        killall Dock