世界を動かす技術を、日本語で。

macOSを一貫して悪化させる(皮肉なしで)

概要

  • 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を読み込み、起動時に自動適用

まとめ

  • 角の一貫性問題 は見た目の美しさだけでなく、ユーザー体験全体に影響
  • 独自の角丸一貫化手法 により、少なくとも「一貫して不満な見た目」を実現
  • セキュリティリスク を理解した上でのカスタマイズ推奨

Hackerたちの意見

正直言って、macOS 26のこの部分は気にならないな。ウィンドウを重ねたり、角を測ったりする時間はあんまりないし。

自動レイアウトツールを使ってるから、ウィンドウが重なってるのは超普通なんだけど、全部が互いに見えてて(ブログのスクリーンショットみたいに)めっちゃ見栄えが悪いのがイライラする。

俺もそうだな。唯一気になるのは、ウィンドウのサイズ変更がすごく難しくなったから、使い勝手が悪くなったこと。

僕にとっては、マイティマウスの充電の状況に似てるかな。横にして充電してる写真を投稿するのがミームになってるけど、実際に持ってる人にとってはあんまり関係ないよね。ランチ中に月に一回15分充電するだけだし。液体ガラスみたいなことは確かに気になるけど、窓の角は全然気にならない。デザインに興味があって、デジタルカラーメーターアプリでUIのパーツを常にチェックしてるし。

つまり、MacOSは、細かいことにこだわらず、無頓着な人には問題ないってこと。スティーブ・ジョブズに、これがMacを使いやすくするために必要な態度だって言ったらどうなるんだろうね。

タホの見た目はあんまり好きじゃないな(特にApple Music、何が起こったのか)。でも大体は無視できるし、もう気にも留めてないよ。ただタブだけは別。セコイアとタホのマシンを使ってるけど、タホのタブは比べ物にならないくらいひどい。あの変なピル型、マジでダサい。これについて話す人はあまりいないけど、本当に驚くほど醜いし、前のデザインよりも全ての面で劣ってる。

あなたは一人じゃないよ、数週間前にタホでSafariがどれだけ醜いかを指摘してたんだ! https://news.ycombinator.com/item?id=47282085#47310011 このアップデートで一番嫌いなデザイン変更だな。なんで全部が楕円形なの?本当に奇妙だよ。

丸みを帯びた角がビューポートの端に届かないのと、新しいアプリを初めて開くときの挙動を見ると、MacのUIはほとんどのユーザーがウィンドウを画面いっぱいに広げないだろうって前提で最適化されてる気がする。むしろ半分のサイズでどこかに置くって感じ。実際にそうしてる人いるの?特に重いアプリ、例えばウェブブラウザやIDEなんかでは、これって変な前提だと思うんだよね。

普通じゃないかもしれないけど、大きな4Kモニターを使っててスケーリングはしてない。ウィンドウを最大化したのは何年も前だ。あれじゃ見た目が馬鹿みたいだよ。特にウェブページなんかは、最大幅が設定されてて、コンテンツが画面の1/4で、3/4がホワイトスペースになってる。

マックユーザーを何人か見たけど、ウィンドウを最大化してる人はほとんどいなかったな。だいたい12個くらいのウィンドウを開けて、画面のあちこちにランダムに配置してた。で、Alt-Tabで切り替えてた。基本的に開いた場所にそのまま居座ってる感じ。

「マックのUIは、ほとんどのユーザーがウィンドウを全画面に拡張しないだろうという前提で最適化されてる気がする。むしろ、どこか中途半端なサイズで置いておくのが普通だと思う。これが彼らの前提だったのは何年も前からで、2006年から2007年頃にマックに慣れようとしたとき、正直それが嫌だった。あの頃はウィンドウズから来たから、アプリケーションウィンドウが最大化されてないことに対して妙な不安があったんだ。画面の角にぴったりはまってる感じがしなかったから。今は34インチのウルトラワイドモニターをほぼ専用で使ってるけど、何も最大化しないよ…使い物にならないから。」

macOSは最近になってウィンドウを画面いっぱいにするオプションが追加されたんだ。歴史のほとんどの間、ほとんどの人が最大化ボタンだと思ってた緑のボタンは、実はズームボタンだった。OSがコンテンツに対して適切だと思うサイズにウィンドウを調整してたんだ(私の知識と経験からすると)。その後、Appleは特別なフルスクリーンモードでフルスクリーンにするようにしたから、macOSはiPadのように動作するようになった。Windowsのようにウィンドウを最大化する方法が追加された頃には、アプリを最大化するという考え方は私のワークフローからほとんど消えてしまってた。いつも手間がかかりすぎて、あまり恩恵を感じるアプリも少なかった。例えば、ウェブブラウザはページの両側に無駄なホワイトスペースができることが多いから、ワイドスクリーンディスプレイでは小さなウィンドウの方が使いやすい。IDEでは、何を作業しているかや、テキストの折り返しが必要かどうかによる。理想的には、行が長すぎて問題になることはないはず。macOSのウィンドウ管理の仕方では、ウィンドウが重なり合って、いくつかの角が見える状態が一番楽だと感じるから、アプリのウィンドウ間を一クリックで移動できる。代わりに、アプリの全てのウィンドウを前面に持ってくる(ドックやcmd+tabで)か、Mission Controlを使うことになるけど、どちらも効率的とは思えない。サードパーティのウィンドウ管理ユーティリティをインストールすることもできるけど、長い目で見れば、標準のOSで使えるワークフローを見つける方が簡単だと感じたから、どんなシステムでもセットアッププロセスを経ずに使えるようにしてる。同じ理由で、代替キーボードレイアウトにも本格的には手を出さなかったんだ。

そうそう!何年もLinuxやWindowsだけ使ってた後、インターンシップでiMacを使うことになって、フルスクリーンにするのにストレスを感じた。戦わないことにして、次の1年は小さなウィンドウで幸せに働いて、「ミッションコントロール」のジェスチャーを頻繁に使ってた。でもインターンシップが終わったら、すぐにLinuxでフルスクリーンやウィンドウタイルに戻ったから、特に好んでたわけじゃない。今はGnomeユーザーで大きなモニターとマジックトラックパッドを使ってるけど、どちらのアプローチにもほぼ同じアクセスがあるのに、やっぱり全部フルスクリーンにしてる。

MacのUIは、ほとんどのユーザーがウィンドウを画面いっぱいに広げないだろうという前提で最適化されてるんだよね。ウィンドウは中のドキュメントの内容に合わせたサイズであるべきって考え方。これが80年代と90年代にMacが設計された目的にはうまく機能するんだけど、現代の「プロ」アプリケーションには全然合わないんだよね。

MacBookの画面を使ってるときは、ブラウザのウィンドウを画面いっぱいに広げることが多いな。13インチの画面だから、全部使わないと小さく感じちゃう。でも、ほとんどの時間は大きな外部モニター(20インチくらいかな、27インチかも)に接続してるから、そこでウィンドウを画面いっぱいに広げることはない。部分的に(またはほとんど)重なる別々のウィンドウが好きなんだよね。関係あるかもしれないけど、仕事ではWindowsを使ってて、誰かが使った後にそのパソコンに乗ると、すべてのウィンドウが最大化されてるのがイライラする。27インチのモニターで、Windows Explorerまで最大化してるのは理解できない。ブラウザを最大化するのは分かるけど、自分はやらないし、便利だとは思うけど、Windows Explorerを最大化するのは本当に意味不明なんだよね。それでも、同僚の多くはそうしてる。

これが私の作業スタイルなんだけど、ウィンドウをフルスクリーンにすることはほとんどないし、ウェブサイトやアプリが巨大なモニターで最大化されたウィンドウを前提に作られてるのが嫌い。複数のデスクトップや似たような設定で、使ってるアプリ間を素早く切り替える方法を見つけたことがない。「エディタを少し左に、ブラウザを少し右に…」みたいにして、知ってる境界をクリックしてそのアプリを前に持ってくるだけ。多くの人が私を変だと思ってるだろうけど、それでもいいよ。:) それはさておき、私は新しいOSXのUIが全般的に嫌い。使えないUI要素が大きくなって、使えるスペースを無駄にしてる。さらに、いくつかの操作がすごくイライラするようになった(コーナードラッグでのリサイズ、見てるよ!)。

それを擁護しようとしてるわけじゃないけど、私も好きじゃないからね。でも、MacのワークフローはWindowsよりもずっとalt-tabに依存してる。alt-tabやalt-shift-tab(逆順)を使うと、思考のスピードでアプリを飛び回れる気がする。多くのネイティブアプリも、ウィンドウを複数ポップアップさせて、なんとなく浮いてる感じで使うことを期待してる。でも、少なくともMacではフォーカスが当たってないアプリでもスクロールできるからね…

あるユーザーは、ウィンドウを画面上でドラッグしてアプリを切り替えるんだよね、まるでごちゃごちゃの山みたいに。友達の中には、Cmd+Tabで開いてるアプリを切り替えることすら知らない人もいた。ユーザーって変わってるよね。

角についての騒ぎは、実はmacOSをかなりよく反映してると思う。OSの最大の欠点がウィンドウのボーダー半径なら、かなり良いOSだよね!もちろん、愛するLinuxを離れる理由にはならないけど、この騒動は褒め言葉として解釈できると思う。考え直すと、人々が無駄に議論する傾向についての考察とも取れるかも。

それには同意できないな。これは、オペレーティングシステム全体にわたる関心の分離の根本的な欠陥を示してると思う。別の言い方をすると、こういうことがあると、全体がハックだってわかるよね。

これが一番の欠陥ってわけじゃないけど、他にもたくさんあるし、みんなに嫌われてるみたいだね。例えば、Finderをもっと悪くする方法はあまりないよ。

一方で、ウィンドウのサイズ変更が難しくなることがあるっていうのは、アップルのOSが45年近く問題なくできてたことを壊してるってことだよね。

「OSの一番の欠陥がウィンドウのボーダー半径なら、かなり良いOSだってことだ!他にもたくさんの欠陥があるけど、アップルの製品のデザインにみんながすごく気を使ってるから、こういう細かいことが話題になるんだ。」

一番の欠点は、システムが意見を持ってるから、自分が嫌なところを変えられないことだね。

それは一番の欠点じゃなくて、ただ一番目立つ欠点ってだけ。

ただ一番目立つだけで、macOSは千切りのようにじわじわと苦痛を与えてくる。

「OSの一番の欠点がウィンドウのボーダー半径なら、かなり良いOSだよ!」って言うのは、Windows 11も同じように「スタートメニューの位置が一番の欠点なら、まあまあ良いOSだよ」ってことになるね。一般的に、ちょっとした不満を良いOSの証拠として使えるし、メーカーとして意図的に不満を作り出すこともできる。人は自分の環境がちょっとした形で変わるのを好まないから、こういうことには常にモヤモヤがつきまとうんだよね。それが強い主張にはならないってことだね。

僕も同じこと考えてた。角に関する人たちの不満にはほとんど同意するけど、Windowsとのやり取りに比べたら小さいことに感じる。Windows、Mac、Linuxを使ってるけど、僕の中ではWindowsが「靴下なしでレゴを踏む」みたいなOSだと思ってる。

うん、「ウィンドウの角の悪名高い一貫性の問題」って、むしろ矛盾してる気がする。グラフィックデザイナーの間では悪名高いかもしれないけど、ほとんどのMacOSユーザーは気づかないし、気にもしてないと思う。

macOSタホで通知を消すのは本当に面倒くさい。『リキッドグラス』ボタンの反応が遅いし、通知が消えるまでちょっと待たなきゃいけないし、次の通知を消すためにカーソルを揺らさなきゃいけないこともある。もう本当にイライラする。そして、Music(以前のiTunes)へのアップデートはひどすぎて、チーム全員がスティーブ・ジョブズ風に叱責されるべきだと思う。

通知ボタンは、追加されてからずっとちょっとふわふわして反応が悪い感じがする。最悪だよ。

こういうことに気づける人がいるのが好きだな。無頓着な私たちを守ってくれてる先駆者みたいな存在だよね。

Appleは昔、これを理解してたよね。気づかないかもしれないけど、潜在意識は気づいてるんだ。物事が不安定になって「普通に動く」って感じじゃなくなると、信頼感が薄れてくる。

これ使ってるんだけど、https://github.com/FelixKratz/JankyBorders 一貫した感じにしたいんだけど、もうちょっと角を丸くしないようにできたらいいな。

普段はLinuxとWindowsを使ってて(ほぼ50/50)、正直言うと、これが理由でMacに完全には移行できなかったんだ。家にはいくつかMacがあるけどね。フルスクリーンの挙動が変だよ。ドックは常に全てのウィンドウの上に重なるべきなの?そうじゃないなら、なんでデフォルトで隠れないの?そうなら、フルスクリーンは「ドックを重ねずに最大サイズのアプリウィンドウ」ってこと?そもそもドックの意味って何?もう一つは、開いてるウィンドウと実行中のアプリが違うってこと。2時間後にこのアプリがバックグラウンドでまだ動いてるのに、全てのウィンドウを閉じたのに?

最小化と最大化のボタンが入れ替わってて、カスタマイズする方法がないのはどうなの?それが本当にイライラする。

アップグレード以降、WindowServerが100%以上のCPUを使ってるのは言うまでもないよね。それに、いくつかのアプリでは保存ダイアログにファイル名を貼り付けられないし。SafariのURLフィールドも変だし。コンピュータが遅すぎて、どこかのシステム設定で透明度を最小限にしなきゃいけなかった。アプリをそれぞれのスペースで開かないようにする設定もしたし、Finderの設定でデスクトップのアイコンを隠したのも効果的だった。調べる価値のある小さな調整が他にもたくさんあるよ。App Tamer(関係ないけど)を強くおすすめする。バックグラウンドアプリをCPU10%に制限できるんだ。WindowServerやkernel_task(これもよく100%以上のCPUを使う)には効果がないけど、何かしらの助けにはなる。Appleに誰も舵を取ってない気がしてならない。ウィンドウを開くのに数秒待たなきゃいけない、アプリを切り替えるのに時間がかかる、アプリケーションフォルダに行くのに苦労するって、何かがひどくおかしい。コンピュータは何十年も前から本来の速度の何千倍も遅く動いてるけど、今は日常の作業が難しくなってきてる。AIが他のOSを参考にして完全なオペレーティングシステムを作る手助けをしてくれることに期待してる。そうすれば、Apple/Microsoft/Googleに再挑戦させるようなより良い代替品が登場するかもしれない。FinderやFile Explorerの代替品がネイティブのものを置き換える未来が見えるよ。

アップグレード以降、WindowServerが100%以上のCPUを使ってるのは言うまでもないよね それは、あるアプリがウィンドウの更新をスパムしてるからだよ。これは多くのリリースで続いている問題なんだ。僕の見たところ、WindowServerの100% CPUは症状であって、原因じゃない。

QubesOSは素晴らしい移行先のようだね。アプリやOSを安全なサンドボックスで動かすから、そのオーバーヘッドがあっても、ひどいMacOS 26のパフォーマンスよりは悪くないみたい。

もうAIが作るオペレーティングシステムを見てると思うけど、改善されてるとは思えないな。