I want the Dock completely gone. I haven't used it in the past three releases of OS X (10.5 to present). I want it completely gone, and LaunchBar there instead. Is there a way to kill the Dock so that it does not load or run?
The Dock process on OS X is responsible for more than just the actual Dock on your screen. It does a bunch of background stuff, including Dashboard. Most notably, the Finder won't function properly if the Dock process isn't running, so turning it off completely is pretty much a no-go without breaking OS X in the process.
The best I can suggest is keeping the dock hidden, and make the size as small as possible so you're less likely to trigger it.
You can also position it where it's least likely to get in the way - as you probably know, you can put it on the left, right or bottom of your screen. But you can also pin it to a particular corner, just use the
defaults write com.apple.dock pinning -string start command. Type that command in Terminal (replace
end to change which corner it goes in, or
middle to go back to the default), then
killall Dock to restart the Dock and apply the change.
This article from Lifehacker.com.au suggests setting the Dock autohide delay to 1000 seconds, like so:
defaults write com.apple.dock autohide-delay -float 1000; killall Dock
To restore the default behavior:
defaults delete com.apple.dock autohide-delay; killall Dock
The author says he sets the delay to two seconds, so he can still get to the Dock in those rare cases when it's needed.
This answer doesn't really add that much to what is already here, but I felt that the answers offering solutions for hiding it lacked some information.
I personally use uBar and I've used the following set of terminal commands without any issues. I can only confirm that I've used these without any issues since El Capitan. I can't remember further than that for sure.
To be clear, this only hides Dock, so that you will never have to deal with it accidentally popping up.
For those who don't know, these lines of code should be run in Terminal. It can be found here:
/Applications/Utilities/Terminal.app. Just open Terminal and paste in the lines and press enter.
# Hide Dock defaults write com.apple.dock autohide -bool true && killall Dock defaults write com.apple.dock autohide-delay -float 1000 && killall Dock defaults write com.apple.dock no-bouncing -bool TRUE && killall Dock # Restore Dock defaults write com.apple.dock autohide -bool false && killall Dock defaults delete com.apple.dock autohide-delay && killall Dock defaults write com.apple.dock no-bouncing -bool FALSE && killall Dock
You can run each line separately as well.
Explanation on what each line does:
- First line turns on autohide
- As someone mentioned,
Cmd+Alt+Dstill toggles Dock visibility just like before. This is useful if you need to assign application to a specific space. Using the Dock is the only way (AFAIK).
- As someone mentioned,
- By default when Dock autohide is on, hovering over the edge where it sits shows the Dock pretty much immediately. This line Makes the hover delay 1000 seconds, making it pretty much impossible to accidentally show dock if you happen to hover over the edge. You'd have to let it sit there for ~17 minutes.
- This removes the bounce animation that happens when applications want your attention or when an application is launching. I've noticed that depending on the Dock icon size, they may peak from the edge when they start bouncing. This gets rid of that issue.
killall Dock at the end of each line forces Dock to quit and then it restores itself automatically. This is to basically load the new settings. It's only necessary to run
killall Dock after the very last line, but this way it's easier to run the lines separately if necessary ...and in bulk it really makes no difference.
To double click an icon and toggle the behaviour. using @Jonas code -Thanks!
I saved the following into a file named
Toggle_Dock then ran
sudo chmod +x Toggle_Dock which might have not been needed. Now I can just use the icon to toggle the dock.
# Check if dock is hidden if [[ "$(defaults read com.apple.dock autohide)" -eq "1" ]]; then # Restore Dock defaults write com.apple.dock autohide -bool false && killall Dock defaults delete com.apple.dock autohide-delay && killall Dock defaults write com.apple.dock no-bouncing -bool FALSE && killall Dock exit fi # Hide Dock defaults write com.apple.dock autohide -bool true && killall Dock defaults write com.apple.dock autohide-delay -float 1000 && killall Dock defaults write com.apple.dock no-bouncing -bool TRUE && killall Dock