Як вимкнути всі анімації на OS X


123

Чи можна вимкнути всі анімації на OS X?


1
На яку анімацію ви посилаєтесь? Я можу сказати досить впевнено, що неможливо відключити всі анімації в OS X, але для деяких з них є налаштування (наприклад, Dock).
Остін

4
@Austin // Гм ... Я хочу вимкнути якомога більше анімацій, як Windows. Я можу вимкнути в основному всю анімацію на Windows ..
Місяць,

1
Немає глобальної можливості відключити всю анімацію, і анімація є майже у всьому , тому будь-яка досить вичерпна відповідь була б необґрунтовано довгою. Чи є кілька елементів, які ви могли б згадати, які особливо образливі для вас?
Остін

7
закрити кришку :)
CousinCocaine

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

2
Скажіть, будь ласка, повідомте мені про те, чи потрібно розміщувати цей скрипт у якомусь конкретному файлі чи в новому файлі / скрипті, який працює при запуску, щоб відключити анімацію вище
GoodSp33d

5
Ви можете просто вставити команди в термінал, і вони постійно змінюють налаштування. Вам також доведеться знову відкрити програми або вийти та повернутися, щоб застосувати зміни.
Лрі

5
будь-яка ймовірність того, що хтось із них позбудеться або пришвидшить ефект «переведення пальцем поперек» під час вкладки між двома різними екранами на весь екран на другому моніторі?
Майкл

3
Як ми можемо зробити це, працюючи на Високій Сьєррі
theonlygusti

3
Більшість команд не працює на High Sierra
QMaster

39

Якщо ви не хочете копіювати та вставляти кожну з команд, вказаних у верхній відповіді, просто виберіть цей текст, скопіюйте його та вставте в термінал і натисніть клавішу Enter (він виконає всі команди відразу, не прокручуючи)

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, тому копіювання всього блоку коду з першої відповіді все одно зробить точно так само, як це.
грг

2
Щоправда, але цей текст простіше скопіювати, оскільки прокрутки робити не можна.
Девід Лопес

Отже, якщо ми хочемо відновити зміни, нам просто потрібно зняти з себе кожен булевий і повторити це?
vach

Щоб змінити булеві (true / false), так. Щоб повернути плавці, вам потрібно знати, якими були значення за замовчуванням. Ви можете мати друковані параметри за замовчуванням, зробивши "read default <domain> <key>", тобто: defaults read -g NSWindowResizeTimeдрукує 0.001(у моєму випадку). Щоб отримати допомогу, запустіть defaultsу терміналі. Я буду оновити свою відповідь списком копію-вставки, який поверне все до значень за замовчуванням. Світ малий, чи не Вачаган? :)
Девід Лопес

15

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

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

Також перегляньте TinkerTool , який дозволяє вам виконувати наступні дії:

  • Вимкніть ефект анімації під час відкриття файлів у Finder
  • Вимкніть ефект анімації в пошті
  • Вимкніть ефект анімації в контрольному режимі
  • Вимкнення анімації під час приховування або показу Dock
  • Вимкнення ефекту зникнення та згасання та анімації при перемиканні між сторінками в Launchpad
  • Вимкнення анімації при відкриванні вікон
  • Вимкніть ефект анімації, відкриваючи інформаційні панелі або значки робочого столу
  • Вимкніть ефект анімації при виборі інформаційних категорій
  • Прискорити анімацію листів, що відкриваються та закриваються

Якщо є анімація, яка насправді клопоче вас, і ви не можете зрозуміти, як її відключити, спробуйте опублікувати окреме запитання тут у Ask Different для цієї конкретної проблеми - ви отримаєте швидку та точну відповідь. (І як хороший побічний ефект, і ви, і люди, які допомагають вам, зароблять більше репрез.)


8

Окрім наведених вище відповідей, ви також можете використовувати Секрети . Secrets - це відкритий код PrefPane, який дозволяє встановлювати всілякі приховані параметри для всіляких програм на вашому Mac.

Секрети PrefPane

Оновлення : основний сайт не працює, і проект виглядає мертвим. Ось Архів коду Google, якщо ви все ще хочете використовувати версію ванілі.


1
Це посилання мертве ... Може хтось завантажив додаток?
jeet.chanchawat

2
Секрети мертві. Резервний сервіс офлайн, тому більше оновлень більше немає.
CyberSkull

5

Якщо ви насторожено ставитесь до Терміналу, Mountain Tweaks - це ще один корисний графічний інтерфейс, щоб вимкнути, увімкнути та іншим чином налаштувати поведінку Лева та Гірського Лева.


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.