- macOS 26 में upgrade के बाद सबसे असुविधाजनक बात bugs से भी ज़्यादा विंडो कोनों की असंगति है; ज़रूरत से ज़्यादा rounded corners से भी बड़ी समस्या यह है कि अलग-अलग apps में यह अलग तरह से लागू होता है
- मौजूदा समाधान SIP निष्क्रिय करने की मांग करते हैं, जिससे सुरक्षा कमजोर पड़ सकती है, और Safari जैसी system apps की libraries को सीधे modify करना पड़ता है, इसलिए यह जटिल है
- SIP निष्क्रिय किए बिना सिर्फ third-party apps पर लागू होने वाले तरीके में
NSThemeFrame class के methods को replace (swizzling) करके सभी user apps के corner radius को 23.0 पर एकसमान किया जाता है
- dylib को compile और sign करने के बाद LaunchAgents plist के जरिए boot पर automatic injection करके इसे स्थायी रूप से लागू किया जा सकता है
- नतीजतन सभी app windows समान रूप से rounded हो जाती हैं, जिससे “लगातार खराब design” लेकिन एकसमान visual effect मिलता है
समस्या की पृष्ठभूमि
- macOS 26 में विभिन्न bugs के अलावा विंडो कोनों की असंगति की समस्या खास तौर पर उभरती है
- कोनों का बहुत ज़्यादा rounded होना जितना परेशान नहीं करता, उससे ज़्यादा अलग-अलग apps में दिखने वाली visual inconsistency खटकती है
- UI design बहुत संक्रामक होता है; designers अक्सर बड़ी कंपनियों के design को ज्यों का त्यों follow करते हैं, और यह प्रवृत्ति आगे और फैल सकती है
- उदाहरण: design बहस में उद्योग का यह चलन कि "Apple इस button को कैसे बनाता?" कहकर बात खत्म कर दी जाए
मौजूदा समाधान की समस्याएँ
- कुछ users ने SIP(System Integrity Protection) निष्क्रिय करके इस समस्या को हल करने की कोशिश की
- SIP निष्क्रिय करने पर
/root directory की सुरक्षा खत्म हो जाती है, और system apps (जैसे Safari) द्वारा इस्तेमाल की जाने वाली system libraries को सीधे modify करना पड़ता है
- कुछ लोगों का मानना है कि अगर machine पहले से compromise हो चुकी हो तो SIP की वास्तविक सुरक्षा-क्षमता सीमित रहती है, फिर भी सुरक्षा जोखिम की संभावना बनी रहती है
वैकल्पिक तरीका: third-party apps को एकसमान बनाना
- कोनों को हटाने के बजाय सब कुछ और ज़्यादा rounded करके एकरूप बनाने का रास्ता चुना गया
- SIP निष्क्रिय किए बिना सिर्फ user apps (third-party) पर लागू होने वाले dylib injection तरीके का उपयोग किया गया
- मौजूदा corner-removal solution को fork करके संशोधित code लागू किया गया
तकनीकी कार्यान्वयन
NSThemeFrame class के नीचे दिए 4 methods को method replacement (swizzling) से बदला गया
_cornerRadius → 23.0 return
_getCachedWindowCornerRadius → 23.0 return
_topCornerSize → CGSizeMake(23.0, 23.0) return
_bottomCornerSize → CGSizeMake(23.0, 23.0) return
- com.apple. prefix वाली Apple system apps, CLI tools और daemons को लागू दायरे से बाहर रखा गया
arm64e और x86_64 architecture दोनों को support करने वाली universal dylib compile की गई
इंस्टॉल और automatic application
- clang से SafariCornerTweak.dylib को compile करके
/usr/local/lib/ में copy करने के बाद codesign से sign किया जाता है
- LaunchAgents plist (
com.local.dyld-inject.plist) के जरिए DYLD_INSERT_LIBRARIES environment variable सेट किया जाता है
launchctl load ~/Library/LaunchAgents/com.local.dyld-inject.plist से register करने पर boot के समय automatic dylib injection लागू हो जाता है
- अंत में सभी app windows के कोने समान रूप से rounded हो जाते हैं, और “लगातार खराब design” लेकिन visual रूप से एकसमान नतीजा मिलता है
2 टिप्पणियां
अभी भी अपडेट नहीं कर रहा हूँ..
Hacker News की राय
macOS upgrade के बाद WindowServer का CPU 100% से ज़्यादा इस्तेमाल करने की समस्या आ गई
file save dialog में file name paste भी नहीं कर पा रहे, और Safari का URL field भी अजीब तरह से काम कर रहा है
system settings में transparency कम करना, app-based spaces separation बंद करना, Finder में desktop icons छिपाना जैसी settings से speed थोड़ी बेहतर हुई
background apps के CPU usage को सीमित करने के लिए App Tamer की recommendation दी गई है (लेकिन WindowServer या kernel_task पर असर नहीं)
आजकल लगता है Apple में कोई दिशा देने वाला नहीं है। window खोलने या app switch करने में कई सेकंड लगना गंभीर समस्या है
कभी न कभी उम्मीद है कि AI नया OS design करे, ताकि Apple·Microsoft·Google फिर से compete करें
M2 Air पर दर्जनों tabs और apps एक साथ खुले हों तब भी कोई समस्या नहीं। पहले boot होने में 3 मिनट और game install में 30 मिनट लगते थे, अब सब तुरंत हो जाता है
macOS Tahoe का design पसंद नहीं आया। खासकर Apple Music तो समझ से बाहर हद तक अजीब हो गया है
लेकिन ज़्यादातर चीज़ें ignore की जा सकती हैं, पर tab design बेहद बदसूरत है। लगता है हर तरह से पहले से downgrade हुआ है
window corners पर इतना बड़ा विवाद होना शायद इस बात का संकेत है कि macOS उतना ही highly polished OS है
मुझे Linux पसंद है, लेकिन ऐसी बहसों को आखिरकार तारीफ़ भी माना जा सकता है
macOS Tahoe में notifications हटाना बहुत झंझट वाला है
“Liquid Glass” buttons की response धीमी है, और notification गायब होने तक delay होता है। music app update भी बेहद खराब है
लोग SIP(System Integrity Protection) पर बहुत अटके रहते हैं, लेकिन असल में ransomware रोकने में इसका कोई असर नहीं है
npm, pip जैसे package managers को VM के बाहर इस्तेमाल करना, SIP on रखने से भी ज़्यादा risky है
rmचलाए, तो data फिर भी मिट जाएगालेकिन SIP की वजह से safe mode में boot करके recovery की जा सकती है
मैं Linux और Windows दोनों आधा-आधा इस्तेमाल करता हूँ, और इसी वजह से Mac को main system नहीं बना पाता
Dock और fullscreen behavior बहुत अजीब हैं। window बंद करने के बाद भी app का चलते रहना confusing है
अच्छा लगता है कि कुछ लोग इन बारीक चीज़ों को notice करते हैं। उनकी observational ability की वजह से लगता है कि हम भी सुरक्षित हैं
आज का macOS ऐसा लगता है जैसे Harley Davidson और Volvo Truck ने merge करके एक design language बना दी हो
brand unification के लिए compromise का नतीजा बन गया है
लगता है macOS का UI इस assumption पर design हुआ है कि windows को fullscreen में नहीं बल्कि बीच के size में खोला जाएगा
लेकिन browser या IDE जैसे बड़े screen apps के लिए यह अजीब assumption है
अब windows को overlap करके एक click में switch करना ज़्यादा efficient लगता है
लेकिन नया UI space बहुत बर्बाद करता है, और corner drag resize परेशान करने वाला है
pill tabs सबसे ज़्यादा खटकते हैं
यह visually distracting होने के साथ-साथ information भी ठीक से नहीं देते, एक अजीब design है