概要
- MacOS 26 のウィンドウ角の一貫性問題について解説
- UIデザイン の過度な丸みとその影響を指摘
- システム整合性保護(SIP)を無効化するリスクに言及
- 独自の角丸一貫化手法 をソース付きで紹介
- 実装方法 と起動時自動適用の設定例を記載
MacOS 26のウィンドウ角の一貫性問題とUIデザインの現状
- MacOS 26 アップグレード時、多くのバグとともに ウィンドウ角の一貫性問題 が発生
- 過度な角丸デザイン が近年のUIトレンドとなり、AppleやYouTube UIにも顕著
- 大手企業のデザイン模倣 が業界全体に広がる傾向
- デザイナー間の議論で「Appleのボタンデザイン」を参照する場面が多い
- 今後さらに多くのアプリでこのデザインが広まる可能性
システム整合性保護(SIP)と角丸修正の課題
- 多くのユーザーが SIP(System Integrity Protection) を無効化して角丸問題を修正
- SIP無効化は /rootへのセキュリティ低下 を招くリスク
- 既にマシンに侵入された場合は大きな問題ではないという意見も
- Safari などのシステムアプリの角丸を変更するには root権限の編集 が必要
一貫性重視の角丸カスタマイズ手法
-
角丸を完全になくすより、全てをより丸くする というアプローチを提案
-
既存の「角なし」パッチを forkし、すべての角を同じ半径で丸める方法 に修正
- AppKitとObjective-C runtimeを用いたコード例
- kDesiredCornerRadiusを23.0に設定し、各種角丸取得メソッドをフック
- Apple純正アプリやCLIツール、デーモンには適用しない設計
実装手順と自動適用設定
- dylibのビルド・署名・配置手順
- clangでarm64e/x86_64用ダイナミックライブラリをビルド
- /usr/local/lib/へ配置し、codesignで署名
- DYLD_INSERT_LIBRARIESによる自動読み込み設定
- LaunchAgents用plistを作成し、DYLD_INSERT_LIBRARIES環境変数をセット
- launchctlでplistを読み込み、起動時に自動適用
まとめ
- 角の一貫性問題 は見た目の美しさだけでなく、ユーザー体験全体に影響
- 独自の角丸一貫化手法 により、少なくとも「一貫して不満な見た目」を実現
- セキュリティリスク を理解した上でのカスタマイズ推奨