131

Is it possible to turn off all animations on OS X?

  • 1
    None of these answers seem to disable the one animation I'm looking to disable: the minimize window animation. Is that correct? I'm on 10.14.6. – Elem-Teach-w-Bach-n-Math-Ed Apr 21 at 13:48
  • @Elem-Teach-w-Bach-n-Math-Ed I see the same thing. I remember these used to work but I'm still seeing the minimize animation on Catalina. – tir38 Apr 28 at 20:20
132

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
| improve this answer | |
  • Should I put those lines into .profile file? or single time pasting them into terminal will be valid after the reboot? – alper May 31 at 3:07
41

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

| improve this answer | |
17

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.)

| improve this answer | |
8

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.

Secrets PrefPane

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.

| improve this answer | |
5

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.

| improve this answer | |
1

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
| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .