- Hal paling mengganggu saat upgrade ke macOS 26, bahkan lebih dari bug, adalah masalah ketidakkonsistenan sudut jendela; inti masalahnya bukan sekadar sudut yang terlalu membulat, melainkan kurangnya konsistensi karena tiap aplikasi menerapkannya secara berbeda
- Solusi sebelumnya mengharuskan menonaktifkan SIP, yang berpotensi menimbulkan celah keamanan, dan juga rumit karena harus memodifikasi langsung library aplikasi sistem seperti Safari
- Dengan pendekatan yang hanya diterapkan ke aplikasi pihak ketiga tanpa menonaktifkan SIP, metode ini mengganti metode pada kelas
NSThemeFrame melalui swizzling untuk menyamakan radius sudut semua aplikasi pengguna menjadi 23.0
- Setelah dylib dikompilasi dan ditandatangani, perubahan dapat diterapkan secara permanen lewat LaunchAgents plist yang menyuntikkan library secara otomatis saat boot
- Hasilnya, semua jendela aplikasi menjadi sama-sama membulat, memberikan "desain buruk yang konsisten" tetapi dengan efek visual yang seragam
Latar belakang masalah
- macOS 26 menonjol bukan hanya karena beragam bug, tetapi juga masalah ketidakkonsistenan sudut jendela
- Yang lebih menjengkelkan daripada sudut yang terlalu bulat adalah ketidakkonsistenan visual karena perlakuannya berbeda di tiap aplikasi
- Desain UI sangat mudah menular; para desainer cenderung meniru desain perusahaan besar begitu saja, sehingga fenomena ini bisa makin meluas
- Contoh: dalam perdebatan desain, industri sering menyelesaikannya dengan pendekatan seperti "Apple menggambar tombol ini seperti apa?"
Masalah pada cara penyelesaian yang ada
- Sebagian pengguna mencoba mengatasi masalah ini dengan menonaktifkan SIP (System Integrity Protection)
- Jika SIP dinonaktifkan, keamanan direktori
/root hilang, dan perlu memodifikasi langsung library sistem yang digunakan aplikasi sistem seperti Safari
- Ada juga pandangan bahwa jika mesin sudah lebih dulu dikompromikan, efek perlindungan nyata dari SIP menjadi terbatas, tetapi potensi kerentanan keamanan tetap ada
Pendekatan alternatif: menyeragamkan aplikasi pihak ketiga
- Alih-alih menghilangkan sudut, pendekatan yang dipilih adalah membuat semuanya lebih membulat secara seragam
- Menggunakan metode injeksi dylib yang bisa diterapkan hanya ke aplikasi pengguna (pihak ketiga) tanpa menonaktifkan SIP
- Menerapkan kode yang dimodifikasi dari fork solusi penghapus sudut yang sudah ada
Implementasi teknis
- Melakukan penggantian metode (swizzling) pada 4 metode berikut di kelas
NSThemeFrame
_cornerRadius → mengembalikan 23.0
_getCachedWindowCornerRadius → mengembalikan 23.0
_topCornerSize → mengembalikan CGSizeMake(23.0, 23.0)
_bottomCornerSize → mengembalikan CGSizeMake(23.0, 23.0)
- Aplikasi sistem Apple dengan awalan com.apple., serta alat CLI dan daemon, dikecualikan dari target penerapan
- Mengompilasi universal dylib yang mendukung arsitektur
arm64e dan x86_64
Instalasi dan penerapan otomatis
- Kompilasi SafariCornerTweak.dylib dengan clang, salin ke
/usr/local/lib/, lalu tandatangani dengan codesign
- Atur variabel lingkungan
DYLD_INSERT_LIBRARIES melalui LaunchAgents plist (com.local.dyld-inject.plist)
- Daftarkan dengan
launchctl load ~/Library/LaunchAgents/com.local.dyld-inject.plist agar injeksi dylib diterapkan otomatis saat boot
- Pada akhirnya, sudut semua jendela aplikasi menjadi sama-sama membulat, menghasilkan "desain buruk yang konsisten" tetapi secara visual seragam
2 komentar
Masih belum update juga..
Opini Hacker News
Setelah upgrade macOS, muncul masalah WindowServer memakai CPU lebih dari 100%
Bahkan di dialog simpan file pun nama file tidak bisa ditempel, dan field URL Safari juga berperilaku aneh
Performa sedikit membaik setelah mengaktifkan kurangi transparansi di pengaturan sistem, menonaktifkan pemisahan Space per aplikasi, dan menyembunyikan ikon desktop di Finder
Merekomendasikan App Tamer untuk membatasi penggunaan CPU aplikasi latar belakang (tidak efektif untuk WindowServer atau kernel_task)
Rasanya Apple sekarang seperti tidak punya nahkoda. Harus menunggu beberapa detik hanya untuk membuka jendela atau berpindah aplikasi adalah masalah serius
Suatu hari semoga AI merancang OS baru agar Apple, Microsoft, dan Google kembali benar-benar bersaing
Di M2 Air, puluhan tab dan aplikasi bisa dibuka sekaligus tanpa masalah. Dulu boot butuh 3 menit dan instal game 30 menit, sekarang semuanya nyaris seketika
Tidak suka desain macOS Tahoe. Khususnya Apple Music berubah jadi aneh sampai sulit dipahami
Tapi sebagian besar masih bisa diabaikan, hanya saja desain tab benar-benar terlalu jelek. Rasanya mundur dalam segala hal dibanding sebelumnya
Besarnya kontroversi soal sudut jendela mungkin justru menunjukkan bahwa macOS adalah OS yang sangat matang
Saya suka Linux, tetapi perdebatan seperti ini pada akhirnya juga bisa dianggap sebagai pujian
Menghapus notifikasi di macOS Tahoe terlalu merepotkan
Tombol “Liquid Glass” lambat merespons, dan ada jeda sebelum notifikasi benar-benar hilang. Pembaruan aplikasi musik juga sangat buruk
Orang-orang terobsesi dengan SIP(System Integrity Protection), padahal kenyataannya tidak efektif sama sekali untuk mencegah ransomware
Jika memakai package manager seperti npm atau pip di luar VM, itu justru lebih berisiko dibanding sekadar menyalakan SIP
rm, data tetap bisa hilangNamun berkat SIP, pengguna masih bisa boot ke safe mode untuk pemulihan
Saya memakai Linux dan Windows masing-masing setengah waktu, dan karena alasan seperti ini saya tidak bisa menjadikan Mac sebagai perangkat utama
Dock dan perilaku fullscreen terasa terlalu aneh. Menutup jendela tapi aplikasinya tetap berjalan juga membingungkan
Menyenangkan mengetahui ada orang-orang yang memperhatikan detail seperti ini. Berkat ketajaman observasi mereka, kita juga merasa lebih terlindungi
macOS sekarang terasa seperti Harley Davidson dan Volvo Truck bergabung lalu menyatukan desain mereka
Hasil akhirnya jadi seperti kompromi demi penyatuan merek
UI macOS tampaknya dirancang dengan asumsi pola pakai di mana jendela tidak dibuka fullscreen, melainkan dibiarkan dalam ukuran sedang
Namun untuk aplikasi seperti browser atau IDE yang memakai layar besar, itu adalah asumsi yang aneh
Sekarang, menumpuk jendela lalu berpindah dengan satu klik terasa lebih efisien
Tapi UI baru ini membuang ruang terlalu banyak, dan resize dengan drag di sudut terasa menyebalkan
Tab berbentuk pil (pill tabs) yang paling mengganggu
Ini adalah desain aneh yang ramai secara visual tetapi justru buruk dalam menyampaikan informasi