- macOS 26'ya yükseltince en rahatsız edici şey hatalardan çok pencere köşelerindeki tutarsızlık; sorun, aşırı yuvarlatmanın kendisinden ziyade bunun uygulamadan uygulamaya farklı uygulanması ve tutarlılığın olmaması
- Mevcut çözüm yolları SIP devre dışı bırakmayı gerektiriyor; bu da olası güvenlik zafiyetleri yaratıyor ve Safari gibi sistem uygulamalarının kütüphanelerini doğrudan değiştirmeyi gerektirdiği için karmaşık
- SIP'i kapatmadan yalnızca üçüncü taraf uygulamalara uygulanan bir yaklaşımla,
NSThemeFrame sınıfının metotları değiştirilerek (swizzling) tüm kullanıcı uygulamalarının köşe yarıçapı 23.0 olarak birleştiriliyor
dylib derlenip imzalandıktan sonra LaunchAgents plist üzerinden açılışta otomatik enjekte edilecek şekilde ayarlanabiliyor ve böylece kalıcı olarak uygulanabiliyor
- Sonuçta tüm uygulama pencereleri aynı şekilde yuvarlatılıyor; “tutarlı biçimde kötü bir tasarım” olsa da birleşik bir görsel etki elde ediliyor
Sorunun arka planı
- macOS 26'da çeşitli hataların yanında pencere köşelerindeki tutarsızlık sorunu özellikle göze çarpıyor
- Sorun, köşelerin aşırı yuvarlatılmasından çok, uygulamadan uygulamaya değişen görsel tutarsızlık nedeniyle daha rahatsız edici hale geliyor
- UI tasarımı çok bulaşıcıdır; tasarımcılar büyük şirketlerin tasarımını aynen izleme eğilimindedir ve bu olgunun daha da yayılma ihtimali vardır
- Örnek: tasarım tartışmalarında sektörde sorunun “Apple bu düğmeyi nasıl çizmiş?” diye çözülmesi gibi bir alışkanlık
Mevcut çözüm yöntemlerinin sorunları
- Bazı kullanıcılar bu sorunu SIP (System Integrity Protection) devre dışı bırakma yöntemiyle çözmeye çalıştı
- SIP devre dışı bırakıldığında
/root dizininin güvenliği kayboluyor ve sistem uygulamalarının (Safari vb.) kullandığı sistem kütüphanelerinin doğrudan değiştirilmesi gerekiyor
- Makine zaten ele geçirilmişse SIP'in pratikte sunduğu korumanın sınırlı olduğu görüşü de var; ancak güvenlik zafiyeti ihtimali yine de mevcut
Alternatif yaklaşım: üçüncü taraf uygulamaları birleştirmek
- Köşeleri ortadan kaldırmak yerine, her şeyi daha yuvarlak hale getirerek birleştirme yönü seçiliyor
- SIP'i devre dışı bırakmadan, yalnızca kullanıcı uygulamalarına (üçüncü taraflara) uygulanabilen
dylib enjeksiyonu yöntemi kullanılıyor
- Mevcut köşe kaldırma çözümünden fork edilip değiştirilmiş kod uygulanıyor
Teknik uygulama
NSThemeFrame sınıfındaki aşağıdaki 4 metot metot değiştirme (swizzling) ile değiştiriliyor
_cornerRadius → 23.0 döndürüyor
_getCachedWindowCornerRadius → 23.0 döndürüyor
_topCornerSize → CGSizeMake(23.0, 23.0) döndürüyor
_bottomCornerSize → CGSizeMake(23.0, 23.0) döndürüyor
- com.apple. öneki taşıyan Apple sistem uygulamaları ile CLI araçları ve daemon'lar kapsam dışında bırakılıyor
- Hem
arm64e hem de x86_64 mimarilerini destekleyen universal dylib derleniyor
Kurulum ve otomatik uygulama
clang ile SafariCornerTweak.dylib derlenip /usr/local/lib/ içine kopyalanıyor, ardından codesign ile imzalanıyor
- LaunchAgents plist (
com.local.dyld-inject.plist) üzerinden DYLD_INSERT_LIBRARIES ortam değişkeni ayarlanıyor
launchctl load ~/Library/LaunchAgents/com.local.dyld-inject.plist ile kaydedildiğinde açılışta dylib enjeksiyonu otomatik uygulanıyor
- Sonuç olarak tüm uygulama pencerelerinin köşeleri aynı şekilde yuvarlatılıyor; “tutarlı biçimde kötü bir tasarım” olsa da görsel olarak birleşik bir sonuç elde ediliyor
2 yorum
Hâlâ güncelleme yapmıyorum..
Hacker News görüşleri
macOS yükseltmesinden sonra WindowServer'ın CPU'yu %100'ün üzerinde kullandığı bir sorun ortaya çıkmış
Dosya kaydetme iletişim kutusunda dosya adını yapıştırmak bile olmuyor, Safari'nin URL alanı da garip davranıyor
Sistem ayarlarında saydamlığı azaltma, uygulama başına alan ayırmayı kapatma, Finder'da masaüstü simgelerini gizleme gibi adımlarla hızı biraz iyileştirmiş
Arka plan uygulamalarının CPU kullanımını sınırlayan App Tamer öneriliyor (WindowServer veya kernel_task üzerinde etkisi yok)
Apple'da bugünlerde dümende kimse yokmuş gibi hissettiriyor. Pencere açarken ya da uygulama değiştirirken birkaç saniye beklemek ciddi bir sorun
Bir gün yapay zekanın yeni bir işletim sistemi tasarlayıp Apple·Microsoft·Google'ı yeniden rekabete sokmasını umuyor
M2 Air ile onlarca sekme ve uygulamayı aynı anda açsam da sorun yaşamıyorum. Eskiden açılış 3 dakika, oyun kurulumu 30 dakika sürerdi; şimdi anında oluyor
macOS Tahoe'nun tasarımını beğenmiyorum. Özellikle Apple Music anlaşılması güç derecede tuhaflaşmış
Ama çoğunu görmezden gelebilirim, sekme tasarımı ise gerçekten fazla çirkin. Her açıdan öncekinden daha kötü hissettiriyor
Pencere köşeleri tartışmasının bu kadar büyümesi, belki de macOS'un o kadar olgun bir işletim sistemi olduğu anlamına geliyordur
Linux'u seviyorum ama böyle tartışmalar sonuçta bir övgü olarak da görülebilir
macOS Tahoe'da bildirimleri temizlemek fazla zahmetli
"Liquid Glass" düğmelerinin tepkisi yavaş ve bildirimin kaybolmasına kadar gecikme var. Müzik uygulaması güncellemesi de berbat
İnsanlar SIP(System Integrity Protection) konusuna takılıyor ama gerçekte bunun ransomware'e karşı hiçbir etkisi yok
npm, pip gibi paket yöneticilerini VM dışında kullanmak, SIP açık tutmaktan daha riskli
rmçalıştırırsa veriler giderAma SIP sayesinde güvenli modda açıp kurtarma yapabilirsin
Linux ve Windows'u yarı yarıya kullanıyorum, bu yüzden Mac'i ana sistemim yapamıyorum
Dock ve tam ekran davranışı çok garip. Pencereyi kapatsan da uygulamanın çalışmaya devam etmesi de kafa karıştırıcı
İnsanların bu kadar ince ayrıntıları fark etmesi güzel. Onların gözlem gücü sayesinde biz de korunuyormuşuz gibi geliyor
Bugünün macOS'u sanki Harley Davidson ile Volvo Truck birleşip tasarımı ortaklaştırmış gibi hissettiriyor
Marka birliği uğruna verilmiş tavizlerin ürünü olmuş
macOS arayüzü, pencereleri tam ekran kullanmak yerine orta boyutta açık bırakma alışkanlığı varsayımıyla tasarlanmış gibi görünüyor
Ama tarayıcı veya IDE gibi büyük ekran kullanan uygulamalar için bu tuhaf bir varsayım
Artık pencereleri üst üste tutup tek tıkla geçiş yapmak daha verimli geliyor
Ama yeni arayüz alanı çok israf ediyor ve köşeden sürükleyerek yeniden boyutlandırmak sinir bozucu
Hap şeklindeki sekmeler (pill tabs) en çok rahatsız eden şey
Görsel olarak dikkat dağıtıyor ama bilgi iletme açısından da zayıf olan garip bir tasarım