Cara mematikan semua animasi di OS X

123

Apakah mungkin untuk mematikan semua animasi di OS X?

Bulan
sumber
1
Animasi apa yang Anda maksud? Saya dapat mengatakan dengan cukup percaya diri bahwa tidak mungkin untuk menonaktifkan semua animasi di OS X, tetapi ada pengaturan untuk beberapa dari mereka (Dock, misalnya).
Austin
4
@Austin // Um..Aku ingin mematikan sebanyak mungkin animasi seperti windows. Saya pada dasarnya dapat mematikan semua animasi di windows ..
Bulan
1
Tidak ada opsi global untuk menonaktifkan semua animasi, dan ada animasi di hampir semua hal , sehingga jawaban yang cukup komprehensif akan terlalu panjang. Apakah ada beberapa elemen yang bisa Anda sebutkan yang sangat menyinggung Anda?
Austin
7
tutup penutupnya :)
CousinCocaine
4
Animasi sangat mengganggu (lambat) saat menggunakan RDP atau VNC. Apple harus menyediakan kotak centang tunggal untuk menonaktifkan semua animasi - lebar sistem.
NickG

Jawaban:

125

Saya hanya mengaktifkan empat yang pertama, tetapi di sini ada semua preferensi tersembunyi untuk menonaktifkan animasi yang saya temukan.

# 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
sumber
2
Bisakah Anda memberi tahu saya jika saya harus meletakkan skrip ini di beberapa file tertentu atau di file / skrip baru yang berjalan pada saat start up untuk menonaktifkan animasi di atas
GoodSp33d
5
Anda bisa menempelkan perintah ke Terminal dan mereka mengubah pengaturan secara permanen. Anda juga harus membuka kembali aplikasi atau keluar dan kembali untuk menerapkan perubahan.
Lri
5
ada kemungkinan semua ini akan menghilangkan atau mempercepat efek "gesek" ketika menabrak antara dua jendela layar penuh yang berbeda pada monitor kedua?
Michael
3
Bagaimana kita bisa menyelesaikannya di High Sierra
theonlygusti
3
Sebagian besar perintah tidak berfungsi pada High Sierra
QMaster
39

Jika Anda tidak ingin menyalin-tempel setiap perintah yang ditunjukkan pada jawaban atas, cukup pilih teks ini, salin-tempel ke terminal dan tekan enter (itu akan menjalankan semua perintah sekaligus tanpa harus menggulir)

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

Untuk membatalkan perubahan, rekatkan ini ke 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 X juga memiliki kotak dialog, seperti kotak 'Simpan Sebagai' (CMD + SHIFT + S) atau kotak 'Cetak' (CMD + P). Anda dapat mengubah kecepatan di mana semua kotak ini muncul dengan menggunakan perintah ini:

Instan:

defaults write NSGlobalDomain NSWindowResizeTime .001

Cepat:

defaults write NSGlobalDomain NSWindowResizeTime .1

Default (0,2 detik):

defaults delete NSGlobalDomain NSWindowResizeTime

1 = 1 detik. Untuk melihat perbedaannya Anda harus meluncurkan kembali aplikasi seperti Terminal dan memanggil kotak dialog dengan menekan CMD + S ('Simpan') misalnya. Anda dapat menemukan lebih banyak tweak baris perintah di defaults-write.com

David Lopez
sumber
6
Baris yang diawali dengan # diabaikan dalam bash, jadi menyalin seluruh blok kode dari jawaban pertama akan melakukan hal yang persis sama dengan ini.
grg
2
Benar, tetapi teks ini lebih mudah untuk disalin karena tidak ada pengguliran yang harus dilakukan.
David Lopez
jadi jika kita ingin mengembalikan perubahan, kita hanya perlu meniadakan setiap boolean dan menjalankan kembali ini?
vach
Untuk membalik boolean (benar / salah), ya. Untuk membalikkan float, Anda perlu tahu apa nilai defaultnya. Anda dapat memiliki default dicetak kepada Anda dengan melakukan "default membaca <domain> <key>" yaitu: defaults read -g NSWindowResizeTimemencetak 0.001(dalam kasus saya). Untuk mendapatkan bantuan, jalankan defaultsdi terminal. Saya akan memperbarui jawaban saya dengan daftar salin-rekat yang akan mengembalikan semuanya ke default. Dunia ini kecil, bukan Vachagan? :)
David Lopez
15

Animasi ada di mana - mana di OS X, dan tidak mungkin untuk menonaktifkan semua animasi dengan satu pengaturan global, yang menjadikan ini pertanyaan yang sangat rumit untuk dijawab sepenuhnya.

Saya akan menyarankan Anda untuk mencoba menonaktifkan hal-hal satu per satu saat Anda menemukan animasi yang mengganggu Anda. Periksa Preferensi Sistem untuk memulai. Misalnya, animasi pembesaran Dock dapat dimatikan di System Preferences -> Dock.

Juga, periksa TinkerTool , yang memungkinkan Anda melakukan hal berikut:

  • Nonaktifkan efek animasi saat membuka file di Finder
  • Nonaktifkan efek animasi di Mail
  • Nonaktifkan efek animasi di Kontrol Misi
  • Nonaktifkan animasi saat menyembunyikan atau menampilkan Dock
  • Nonaktifkan efek fade-in dan fade-out, dan animasi saat berpindah antar halaman, di Launchpad
  • Nonaktifkan animasi di jendela pembuka
  • Nonaktifkan efek animasi ketika membuka panel informasi atau ikon Desktop
  • Nonaktifkan efek animasi ketika memilih kategori informasi
  • Mempercepat animasi lembar buka dan tutup

Jika ada animasi yang benar-benar mengganggu Anda dan Anda tidak tahu cara menonaktifkannya, coba posting pertanyaan terpisah di sini di Ask Different untuk masalah khusus itu - Anda akan mendapatkan respons yang cepat dan akurat. (Dan sebagai efek samping yang baik, Anda dan orang-orang yang membantu Anda akan mendapatkan lebih banyak tenaga dengan cara itu.)

Austin
sumber
8

Selain jawaban di atas, Anda juga bisa menggunakan Rahasia . Secrets adalah open source PrefPane yang memungkinkan Anda mengatur segala macam opsi tersembunyi untuk semua jenis program di Mac Anda.

Rahasia PrefPane

Pembaruan : Situs utama sedang down dan proyek tampaknya sudah mati. Ini adalah Arsip Kode Google jika Anda masih ingin menggunakan versi vanilla.

CyberSkull
sumber
1
Tautan itu sudah mati ... Adakah yang bisa mengunggah aplikasi?
jeet.chanchawat
2
Rahasia sudah mati. Backend sedang offline, jadi tidak ada lagi pembaruan.
CyberSkull
5

Jika Anda waspada terhadap Terminal, Mountain Tweaks adalah GUI lain yang bermanfaat untuk mematikan, menghidupkan, dan mengubah perilaku Lion dan Mountain Lion.

Dari
sumber
1

Jawaban ini , terbungkus sebagai skrip shell yang memungkinkan Anda beralih di antara status.

contoh

$ 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
Taman Brad
sumber