Quick tips are random posts regarding something I discovered on my way to something bigger. They usually get longer than “quick” would imply, for which I refuse to apologize.

I lamented on Twitter and App.net that my Dock was no longer respecting “Keep in Dock,” and hadn’t for a while now. It turned out I was far from alone; I heard from a lot of people having the same experience. One friend, Thomas Brand, offered a simple solution: delete the Dock preferences. It stung a bit — it’s the equivalent of “did you try rebooting?” — but it worked and I’m grateful.

I don’t keep many apps permanently in my Dock. Nine, actually, including Finder. Those nine I am very used to seeing, seeing notification badges and clicking quickly based on their Dock location. Having them disappear regardless of the “Keep In Dock” setting was causing mental anguish for me. Yep.

Deleting the file com.apple.Dock.plist from your user Preferences folder and restarting the Dock is the fix. You can do it with a couple of Terminal commands:

$ rm ~/Library/Preferences/com.apple.Dock.plist
$ killall Dock

This will reset your Dock to the way it looked when you first got your computer or installed a new OS. Meaning, of course, that there are a gazillion apps that Apple wants you to know you have but that you absolutely will never need in your Dock. After plucking them out, I added back in the spacer1 between my communcation/social apps and my dev apps. I quit everything and, thankfully, everything stayed put.

I’ll keep an eye on it for a while and see if there’s a point where it reverts to the previous behavior. It would be helpful to know what changes that causes the issue. It could be as simple as corruption of the plist or a permissions issue. I’m not sure. I’m simply surprised to find out exactly how much I depend on having everything in its place on my Dock. There’s probably a name for that condition…

If only it were still possible to make the Dock background invisible and 2D at the bottom of the screen.

  1. defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && killall Dock