15 Hidden Mac Settings Worth Turning On
macOS stores far more settings than it shows you. These fifteen have no checkbox anywhere in System Settings, they all still work on current macOS, and every one comes with the command that puts it back. Run them in Terminal, or find the same switches in any decent settings app.
Dock
1. Dock appears instantly when auto-hidden
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.4
2. No bouncing when an app wants attention
defaults write com.apple.dock no-bouncing -bool true
3. Minimise windows into the app icon instead of a separate tile
defaults write com.apple.dock minimize-to-application -bool true
4. Show only running apps, nothing pinned
defaults write com.apple.dock static-only -bool true
killall Dock
Undo any of these with defaults delete com.apple.dock <key> followed by killall Dock. Number four is a genuinely different way to work: your Dock becomes a list of what is open rather than a launcher.
Finder
5. Full path in the window title
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
6. Quit Finder with Command-Q
defaults write com.apple.finder QuitMenuItem -bool true
7. No warning when you change a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
8. Stop .DS_Store files on network shares
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
killall Finder
Screenshots
9. No drop shadow on window captures
defaults write com.apple.screencapture disable-shadow -bool true
10. No date in the filename
defaults write com.apple.screencapture include-date -bool false
11. No floating thumbnail after each capture
defaults write com.apple.screencapture show-thumbnail -bool false
killall SystemUIServer
Keyboard and windows
12. Faster key repeat than the slider allows
defaults write NSGlobalDomain KeyRepeat -int 2
defaults write NSGlobalDomain InitialKeyRepeat -int 15
13. Near-instant window resizing
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
14. Drag any window from anywhere with Control-Command held
defaults write -g NSWindowShouldDragOnGesture -bool true
These three need a logout and login rather than a killall. Number fourteen is the one people thank you for: hold Control-Command and drag anywhere inside a window to move it, no title bar needed.
Menu bar
15. Tighter spacing so more icons fit before the notch
defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8
defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 6
The -currentHost flag is required here and easy to miss. Log out and back in to see the change.
Mission Control and Spaces
Bonus: stop Spaces rearranging themselves by recent use
defaults write com.apple.dock mru-spaces -bool false
Bonus: stop apps yanking you to another Space when you click their icon
defaults write com.apple.dock workspaces-auto-swoosh -bool false
killall Dock
These two together are the difference between Spaces being a filing system and being a source of confusion. With mru-spaces off, desktop 2 stays desktop 2 rather than reordering itself behind your back, so a three-finger swipe always goes where you expect.
How to undo any of them
Always delete the key rather than writing the opposite value. macOS treats "set to false" and "never set" as different states for some settings, so writing false leaves your fingerprint on the system rather than removing it:
# correct undo, for any key on this page
defaults delete <domain> <key>
# check what a domain currently holds
defaults read com.apple.dock
Keep a note of what you changed. Some of these reset with major macOS upgrades, and a list is the difference between re-applying them in a minute and rediscovering them one irritation at a time.
Mainspring ships every setting on this page as a labelled toggle with a plain description, applied in one click and reverted to the original state in one click.
Try Mainspring free →Signed & notarized by Apple · 1-day free trial · $29 once