Setelan Animasi macOS
Dokumen ini mencatat setelan animasi yang diterapkan, kunci yang sudah tidak berguna, dan mana yang belum terbukti.
Target versi: macOS 27.0 “Golden Gate”, build
26A428. Terapkan denganmake macosataubash scripts/macos-settings.sh apply.
Yang diterapkan
| Domain | Key | Nilai | Fungsi |
|---|---|---|---|
com.apple.universalaccess | reduceMotion | true | Kurangi gerakan sistem |
com.apple.Accessibility | ReduceMotionEnabled | true | Kunci kembar, lihat catatan |
com.apple.dock | autohide-time-modifier | 0.15 | Pengali durasi animasi Dock |
com.apple.dock | autohide-delay | 0 | Hapus jeda sebelum Dock muncul |
com.apple.dock | launchanim | false | Matikan animasi pantulan aplikasi |
com.apple.finder | DisableAllAnimations | true | Matikan animasi Finder |
NSGlobalDomain | NSAutomaticWindowAnimationsEnabled | false | Percobaan, lihat bawah |
Arah pengali durasi Dock
autohide-time-modifier adalah pengali durasi: makin kecil makin cepat.
Nilai 0.15 hampir tanpa animasi, 0 menghapus animasi sepenuhnya. Arah ini
sering terbalik di panduan lain, dan salah di sini membuat Dock justru makin
lambat.
Dua kunci Reduce Motion
Keduanya ditulis. Biner Dock memanggil perubahan lewat monitor
reduceMotionDidChange: dan membaca status melalui API aksesibilitas
(AXIsReduceMotionEnabled), bukan dengan membaca domain secara langsung.
Artinya menulis satu domain saja berisiko tidak terbaca. Menulis keduanya
lebih aman.
Mengembalikan ke bawaan
bash scripts/macos-settings.sh revertKunci yang sudah mati
Jangan dipakai. Berikutnya masih banyak beredar di panduan lama, termasuk di blog yang tampaknya baru diperbarui.
| Kunci | Status |
|---|---|
com.apple.fx windowAnimationDuration | Domain com.apple.fx tidak ada di macOS 27. Diverifikasi langsung: defaults read com.apple.fx mengembalikan domain not found. Kunci era OpenGL; Apple sudah lama tidak memakai OpenGL untuk komposisi jendela |
com.apple.dock expose-animation-duration | Tidak dibaca |
com.apple.dock expose-animation-time | Tidak dibaca |
com.apple.WindowManager EnableStandardCycleInExpose | Tidak dibaca |
NSGlobalDomain QLPanelAnimationDuration | Dihapus |
NSGlobalDomain NSToolbarFullScreenAnimationDuration | Dihapus |
com.apple.dock springboard-show-duration | Tidak ada di biner Dock 27 |
Konsekuensi penting. Mission Control dan Spaces tidak dapat dijadikan
instan lewat defaults, karena semua kunci animasi untuk keduanya sudah tidak
dibaca. Quick Look juga tidak punya kendali lain selain Reduce Motion.
Metode verifikasi yang dipakai: pemindaian cache dyld arm64e pada mesin ini, dengan kontrol positif agar hasil negatif berarti. Bukan pencarian web saja.
Belum terbukti
| Kunci | Status |
|---|---|
NSGlobalDomain NSAutomaticWindowAnimationsEnabled | String masih ada di AppKit 27, tapi belum ada bukti AppKit masih membacanya. Sudah dipasang; efeknya perlu dinilai sendiri |
com.apple.dock genie-speed | String ada di biner, tidak ada di dokumentasi mana pun |
com.apple.dock xfade-duration | Idem |
com.apple.dock bounce-secondary-duration | Idem |
com.apple.dock menu-bar-autohide | Baru di macOS 27, bukan animasi |
Dua yang sering disalahartikan
com.apple.springing.*adalah spring-loading, yaitu jeda sebelum item yang sedang di-drag terlempar keluar. Bukan durasi animasi.com.apple.swipescrolldirectionmengatur arah scroll, bukan animasi. Untuk smooth scrolling kuncinyaNSScrollAnimationEnabled, yang masih ada.
Hal yang perlu diketahui
Reduce Motion sudah aktif sebelum script ini dijalankan. Nilainya sudah 1
di kedua domain, dan repositori dotfiles tidak pernah menuliskannya. Status
non-default itu kini tercatat di docs/MACOS.md.
macOS 27 menambahkan animasi baru. Laporan pengguna pada September 2026 menyebut Reduce Motion saja belum cukup untuk animasi hide dan show desktop. Jadi kalau animasi masih terasa mengganggu setelah script ini berjalan, penyebabnya kemungkinan bukan lagi Reduce Motion, melainkan animasi baru yang belum punya kendali.
Aplikasi berbasis AppKit umumnya membaca status Reduce Motion saat aplikasi dimulai. Aplikasi yang sedang berjalan perlu direstart. Dock tidak, karena memiliki monitor perubahan.
defaults write pada aplikasi yang sedang berjalan bisa ditimpa kembali oleh
aplikasi itu. Karena itu script mengakhiri dengan killall Dock dan
killall Finder.