Is it possible to turn off all animations on OS X?
6 Answers
I have only enabled the first four of these, but here are all hidden preferences for disabling animations I have found.
# opening and closing windows and popovers
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
# smooth scrolling
defaults write -g NSScrollAnimationEnabled -bool false
# showing and hiding sheets, resizing preference windows, zooming windows
# float 0 doesn't work
defaults write -g NSWindowResizeTime -float 0.001
# opening and closing Quick Look windows
defaults write -g QLPanelAnimationDuration -float 0
# rubberband scrolling (doesn't affect web views)
defaults write -g NSScrollViewRubberbanding -bool false
# resizing windows before and after showing the version browser
# also disabled by NSWindowResizeTime -float 0.001
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
# showing a toolbar or menu bar in full screen
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
# scrolling column views
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
# showing the Dock
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
# showing and hiding Mission Control, command+numbers
defaults write com.apple.dock expose-animation-duration -float 0
# showing and hiding Launchpad
defaults write com.apple.dock springboard-show-duration -float 0
defaults write com.apple.dock springboard-hide-duration -float 0
# changing pages in Launchpad
defaults write com.apple.dock springboard-page-duration -float 0
# at least AnimateInfoPanes
defaults write com.apple.finder DisableAllAnimations -bool true
# sending messages and opening windows for replies
defaults write com.apple.Mail DisableSendAnimations -bool true
defaults write com.apple.Mail DisableReplyAnimations -bool true
-
1Should I put those lines into
.profile
file? or single time pasting them into terminal will be valid after the reboot?– alperCommented May 31, 2020 at 3:07 -
4This doesn't work any more in Catalina. Window zooms remain slow animations. apple.stackexchange.com/q/390990/49582 Commented Sep 2, 2020 at 16:21
-
-
-
What about reacji animations in the Messages app for iMessage?– rattrayCommented Nov 10, 2023 at 2:12
If you don't want to copy-paste each of the commands shown in the top answer, just select this text, copy-paste it to the terminal and press enter (it will execute all commands at once without having to scroll)
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write -g QLPanelAnimationDuration -float 0
defaults write -g NSScrollViewRubberbanding -bool false
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock expose-animation-duration -float 0
defaults write com.apple.dock springboard-show-duration -float 0
defaults write com.apple.dock springboard-hide-duration -float 0
defaults write com.apple.dock springboard-page-duration -float 0
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.Mail DisableSendAnimations -bool true
defaults write com.apple.Mail DisableReplyAnimations -bool true
To undo the changes, paste this into the terminal:
defaults delete -g NSAutomaticWindowAnimationsEnabled
defaults delete -g NSScrollAnimationEnabled
defaults delete -g NSWindowResizeTime
defaults delete -g QLPanelAnimationDuration
defaults delete -g NSScrollViewRubberbanding
defaults delete -g NSDocumentRevisionsWindowTransformAnimation
defaults delete -g NSToolbarFullScreenAnimationDuration
defaults delete -g NSBrowserColumnAnimationSpeedMultiplier
defaults delete com.apple.dock autohide-time-modifier
defaults delete com.apple.dock autohide-delay
defaults delete com.apple.dock expose-animation-duration
defaults delete com.apple.dock springboard-show-duration
defaults delete com.apple.dock springboard-hide-duration
defaults delete com.apple.dock springboard-page-duration
defaults delete com.apple.finder DisableAllAnimations
defaults delete com.apple.Mail DisableSendAnimations
defaults delete com.apple.Mail DisableReplyAnimations
Mac OS also has dialog boxes, such as the 'Save As'-box (CMD+SHIFT+S) or the 'Print'-box (CMD+P). You can tweak the speed at which all of these boxes appear by using these commands:
Instant:
defaults write NSGlobalDomain NSWindowResizeTime .001
Fast:
defaults write NSGlobalDomain NSWindowResizeTime .1
Default (0.2 seconds):
defaults delete NSGlobalDomain NSWindowResizeTime
1 = 1 second. To see the difference you have to re-launch an app such as Terminal and summon a dialog box by pressing CMD+S ('Save') for example. You can find more command-line tweaks at defaults-write.com
Animation is everywhere in OS X, and it is not possible to disable all animation with one global setting, which makes this a very complicated question to answer completely.
I would advise you to try disabling things one at a time as you find animations that annoy you. Check System Preferences to start. For example, the Dock magnification animation can be turned off in System Preferences -> Dock.
Also, check out TinkerTool, which allows you to do the following:
- Disable the animation effect when opening files in the Finder
- Disable the animation effect in Mail
- Disable the animation effect in Mission Control
- Disable animation when hiding or showing Dock
- Disable fade-in and fade-out effect,and animation when switching between pages, in Launchpad
- Disable animation in opening windows
- Disable the animation effect when opening information panels or Desktop icons
- Disable the animation effect when selecting information categories
- Accelerate the animation of opening and closing sheets
If there's an animation that really bugs you and you can't figure out how to disable it, try posting a separate question here at Ask Different for that specific issue -- you will get a fast and accurate response. (And as a nice side effect, both you and the people helping you will earn more rep that way.)
In addition to the answers above, you can also use Secrets. Secrets is an open source PrefPane that lets you set all sorts of hidden options for all sorts of programs on your Mac.
Update: The main site is down and the project looks to be dead. Here is the Google Code Archive if you still want to use the vanilla version.
If you're wary of Terminal, Mountain Tweaks is another helpful GUI to turn off, turn on and otherwise tweak the behavior of Lion and Mountain Lion.
This answer, wrapped up as a shell script that allows you to toggle between states.
examples
$ animations_osx.sh
animations disabled - reboot may be required
$ animations_osx.sh
animations enabled - reboot may be required
$ animations_osx.sh OFF
animations disabled - reboot may be required
$ animations_osx.sh ON
animations enabled - reboot may be required
animations_osx.sh
FILE=/tmp/__ez_file_$(date +%s)
function show_help()
{
IT=$(CAT <<EOF
usage: {ON|OFF}
enables or disables animations in osx.
if you don't pass any arguments, it'll toggle between enabled and disabled.
e.g.
ON => All animations are enabled
OFF => All animations are disabled
)
echo "$IT"
exit
}
if [ "$1" == "help" ]
then
show_help
fi
# returns the opposite of the current state for easy toggling
function getNewState()
{
defaults read com.apple.dock expose-animation-duration &> $FILE
VAL=$(cat $FILE)
rm $FILE
if [ "$VAL" == "0" ]
then
echo "ON"
else
echo "OFF"
fi
}
if [ -z "$1" ]
then
OP=$(getNewState)
else
OP=$1
fi
if [ "$OP" == "OFF" ]
then
defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write -g QLPanelAnimationDuration -float 0
defaults write -g NSScrollViewRubberbanding -bool false
defaults write -g NSDocumentRevisionsWindowTransformAnimation -bool false
defaults write -g NSToolbarFullScreenAnimationDuration -float 0
defaults write -g NSBrowserColumnAnimationSpeedMultiplier -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock expose-animation-duration -float 0
defaults write com.apple.dock springboard-show-duration -float 0
defaults write com.apple.dock springboard-hide-duration -float 0
defaults write com.apple.dock springboard-page-duration -float 0
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.Mail DisableSendAnimations -bool true
defaults write com.apple.Mail DisableReplyAnimations -bool true
echo "animations disabled - reboot may be required"
exit;
fi
if [ "$OP" == "ON" ]
then
defaults delete -g NSAutomaticWindowAnimationsEnabled &> $FILE
defaults delete -g NSScrollAnimationEnabled &> $FILE
defaults delete -g NSWindowResizeTime &> $FILE
defaults delete -g QLPanelAnimationDuration &> $FILE
defaults delete -g NSScrollViewRubberbanding &> $FILE
defaults delete -g NSDocumentRevisionsWindowTransformAnimation &> $FILE
defaults delete -g NSToolbarFullScreenAnimationDuration &> $FILE
defaults delete -g NSBrowserColumnAnimationSpeedMultiplier &> $FILE
defaults delete com.apple.dock autohide-time-modifier &> $FILE
defaults delete com.apple.dock autohide-delay &> $FILE
defaults delete com.apple.dock expose-animation-duration &> $FILE
defaults delete com.apple.dock springboard-show-duration &> $FILE
defaults delete com.apple.dock springboard-hide-duration &> $FILE
defaults delete com.apple.dock springboard-page-duration &> $FILE
defaults delete com.apple.finder DisableAllAnimations &> $FILE
defaults delete com.apple.Mail DisableSendAnimations &> $FILE
defaults delete com.apple.Mail DisableReplyAnimations &> $FILE
rm $FILE
echo "animations enabled - reboot may be required"
exit;
fi
show_help