Как отключить все анимации на OS X

123

Можно ли отключить все анимации на OS X?

Луна
источник
1
На какие анимации вы ссылаетесь? Я могу с уверенностью сказать, что невозможно отключить все анимации в OS X, но для некоторых из них есть настройки (например, Dock).
Остин
4
@Austin // Гм .. Я хочу отключить как можно больше анимаций, например, окон. Я могу отключить в основном все анимации на окнах ..
Луна
1
Не существует глобальной опции для отключения всей анимации, и анимация есть почти во всем , поэтому любой достаточно полный ответ будет неоправданно долгим. Вы можете упомянуть несколько элементов, которые особенно оскорбительны для вас?
Остин
7
закройте крышку :)
кузен Кокаин
4
Анимация очень раздражающая (медленная) при использовании RDP или VNC. Apple должна предоставить один флажок для отключения всей анимации - всей системы.
NickG

Ответы:

125

Я включил только первые четыре из них, но здесь есть все скрытые настройки для отключения анимаций, которые я нашел.

# 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
LRI
источник
2
Не могли бы вы дать мне знать, стоит ли мне помещать этот скрипт в какой-то конкретный файл или в новый файл / скрипт, который запускается при запуске для отключения вышеуказанных анимаций
GoodSp33d
5
Вы можете просто вставить команды в терминал, и они навсегда изменят настройки. Вы также должны повторно открыть приложения или выйти и снова войти, чтобы применить изменения.
Lri
5
есть ли шанс, что любой из них избавится или ускорит эффект «пролистывания» при переходе между двумя разными полноэкранными окнами на втором мониторе?
Майкл
3
Как мы можем получить это, работая на Высокой Сьерре
theonlygusti
3
Большинство команд не работают в High Sierra
QMaster
39

Если вы не хотите копировать и вставлять каждую из команд, показанных в верхнем ответе, просто выделите этот текст, скопируйте и вставьте его в терминал и нажмите ввод (он выполнит все команды сразу без необходимости прокрутки)

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

Чтобы отменить изменения, вставьте это в терминал:

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 X также имеет диалоговые окна, такие как «Сохранить как» (CMD + SHIFT + S) или «Печать» (CMD + P). Вы можете настроить скорость появления всех этих полей, используя следующие команды:

Мгновенное:

defaults write NSGlobalDomain NSWindowResizeTime .001

Быстрый:

defaults write NSGlobalDomain NSWindowResizeTime .1

По умолчанию (0,2 секунды):

defaults delete NSGlobalDomain NSWindowResizeTime

1 = 1 секунда Чтобы увидеть разницу, вы должны перезапустить приложение, такое как Terminal, и вызвать диалоговое окно, нажав, например, CMD + S («Сохранить»). Вы можете найти больше настроек командной строки в defaults-write.com

Дэвид Лопес
источник
6
Строки, начинающиеся с #, игнорируются в bash, поэтому копирование всего блока кода из первого ответа в любом случае будет происходить точно так же.
grg
2
Верно, но этот текст легче скопировать, потому что прокрутки нет.
Дэвид Лопес
так что если мы хотим отменить изменения, нам просто нужно отменить все логические значения и повторить это?
Вач
Чтобы изменить логическое значение (true / false), да. Чтобы полностью изменить число с плавающей точкой, вам нужно знать, какие были значения по умолчанию. Вы можете распечатать значения по умолчанию, выполнив «чтение по умолчанию <домен> <ключ>», то есть: defaults read -g NSWindowResizeTimeпечать 0.001(в моем случае). Чтобы получить помощь, бегите defaultsв терминале. Я буду обновлять свой ответ списком копирования и вставки, который вернет все к значениям по умолчанию. Мир маленький, не так ли Вачаган? :)
Дэвид Лопес
15

Анимация повсюду в OS X, и невозможно отключить всю анимацию с помощью одного глобального параметра, что делает этот вопрос очень сложным, чтобы ответить на него полностью.

Я бы посоветовал вам попробовать отключить что-то по очереди, так как вы находите анимации, которые вас раздражают. Проверьте Системные настройки, чтобы начать. Например, анимация увеличения Dock может быть отключена в Системных настройках -> Dock.

Кроме того, проверьте TinkerTool , который позволяет вам делать следующее:

  • Отключить эффект анимации при открытии файлов в Finder
  • Отключить эффект анимации в Почте
  • Отключить эффект анимации в Mission Control
  • Отключить анимацию при скрытии или показе Dock
  • Отключить эффекты постепенного появления и исчезновения, а также анимацию при переключении между страницами в панели запуска
  • Отключить анимацию в открывающихся окнах
  • Отключить эффект анимации при открытии информационных панелей или значков рабочего стола
  • Отключить эффект анимации при выборе информационных категорий
  • Ускорение анимации открытия и закрытия листов

Если есть анимация, которая действительно вас беспокоит, и вы не можете понять, как ее отключить, попробуйте опубликовать отдельный вопрос здесь, в «Задать другой вопрос» для этой конкретной проблемы - вы получите быстрый и точный ответ. (И, как приятный побочный эффект, и вы, и люди, помогающие вам, заработают больше репутации таким образом.)

Остин
источник
8

В дополнение к ответам выше, вы также можете использовать секреты . Секреты - это PrefPane с открытым исходным кодом, который позволяет вам устанавливать всевозможные скрытые опции для всех видов программ на вашем Mac.

Секреты PrefPane

Обновление : основной сайт не работает, и проект выглядит мертвым. Вот архив кода Google, если вы все еще хотите использовать версию vanilla.

CyberSkull
источник
1
Эта ссылка мертва ... Может ли кто-нибудь загрузить приложение?
jeet.chanchawat
2
Секреты мертвы. Бэкэнд находится в автономном режиме, поэтому больше нет обновлений.
CyberSkull
5

Если вы настороженно относитесь к Терминалу, Mountain Tweaks - еще один полезный графический интерфейс для отключения, включения и других настроек поведения Lion и Mountain Lion.

чем
источник
1

Этот ответ обернут как сценарий оболочки, позволяющий переключаться между состояниями.

Примеры

$ 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
Брэд Паркс
источник