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

macOS Tahoeでのウィンドウサイズ変更 – 物語は続く

概要

AppleはmacOS 26.3 RCでウィンドウリサイズ問題を修正したと発表。 独自のテストアプリでリサイズ領域の変化を検証。 RC版では角丸に合わせたリサイズ領域に改善。 最終リリースでは修正が撤回され、元の仕様に戻る。 リリースノートも「解決済み」から「既知の問題」に変更。

macOS 26.3 RCでのウィンドウリサイズ領域の変化

  • Apple がmacOS 26.3 RCリリースノートでウィンドウリサイズ問題の修正を発表
  • 独自テストアプリ 作成による詳細検証
    • ウィンドウ右下周辺をピクセル単位でスキャン
    • シミュレートしたマウスクリックで反応領域を可視化
    • 各領域の色分け表示(赤:反応、緑:リサイズ開始、黄:縦横限定リサイズ、青:無反応)
  • RC版でリサイズ領域が 角丸 に沿う形に変更
  • 縦横限定リサイズ用の黄色領域 が薄くなり、フレーム内部分が3ピクセルから2ピクセルに減少
  • 合計厚みが7ピクセルから6ピクセルに減り、 14%の縮小
  • 結果としてリサイズし損ねる確率が14%増加

macOS 26.3 正式版での仕様撤回

  • 正式リリース後、再度スキャンを実施
  • RC版での 角丸対応の修正が完全に撤回 され、元の四角い領域に戻る
  • リリースノートも「 Resolved Issue」から「 Known Issue」に変更
  • 修正が未完成であったため、Appleが一時的に元の仕様に戻した可能性
  • ユーザー体験改善のため、今後のアップデートでの再修正が期待される状況

Hackerたちの意見

Macでウィンドウのリサイズ用のアプリをいくつか試したけど、FancyZones(WindowsのPowerToysモジュール)ほど良いものはなかったな。秘密のキーコンボとか、ホットコーナーはいらない。俺が求めてるのは、2つのことだけ:

  • FancyZonesみたいな事前定義されたゾーン
  • 端を繋げる機能(もっといい言い方があるはず)で、2つのアプリの間の端を掴んで一緒にリサイズできるようにしたい(片方が小さくなると、もう片方が大きくなる)。誰か、サブスクリプションなしでこれが存在するって教えてくれ!

既存のソリューションの中では、「ベスト」なのはRectangle Proだと思うけど、無料じゃないから、あんまりカウントされないかも。それに気づいて、ウィンドウを分割する機能はあんまりいらないなって思った。特定の座標にウィンドウを投げるためのキー割り当てがあればいいなと思ったから、Hammerspoon(無料)をインストールして、自分用にLuaでスクリーン分のコードを書いた。これは俺の2つの隣接する1440pモニターと個人的な好みに合わせて書いてるけど、コードはすごく分かりやすいから、自分でカスタムソリューションを作るのに慣れてるなら、これ結構いいし、無料だよ。

  • https://www.hammerspoon.org/
  • https://gist.github.com/joedrago/bfc54f4083b070fe998d519cc6c...

PowerToys好きだけど、1.17GBもスペース取るのはちょっとやりすぎだよね。これ、違法にすべきだわ。

Swish⁽¹⁾は、複数のウィンドウを一度にリサイズするために仕切りをドラッグできるアプリだよ。BentoBox⁽²⁾はFancy Zonesからインスパイアを受けてる。Lasso⁽³⁾はカスタムレイアウトのグリッドベースのウィンドウマネージャーだね。MacsyZones⁽⁴⁾もあって、隣接する複数のウィンドウをリサイズできるみたいだけど、使ったことはないな(オープンソースで、作者を支援するためにお金を払うオプションがあるみたい)。⁽¹⁾ https://highlyopinionated.co/swish/ ⁽²⁾ https://bentoboxapp.com/ ⁽³⁾ https://www.thelasso.app/ ⁽⁴⁾ https://macsyzones.com/

合計で厚さが7ピクセルから6ピクセルに減ったので、14%の減少になり、ミスする可能性が14%高くなった。細かいことだけど、実際にはミスする確率は14%よりも高くない。なぜなら、ユーザーのクリック位置は厚さのエリアで均等にランダムではなく、中心に偏っているから(正規分布してる)。

同じことを考えたけど、そんなやつにはなりたくなかった。

そうだよね、ユーザーがアプリに意図したクリックイベントが成功する可能性が高くなるっていうのもあるし、ウィンドウマネージャに奪われることが少なくなるよね。

標準のGnomeの方が良いって、マジでやばい。今、そんな感じ。

先月KDE Plasmaに切り替えたけど、角が四角いウィンドウをまた持てるようになって嬉しい!

GNOME大好き!最近のFedoraでの実装が特に好き。Macに戻ると、なんでSpotlightとMission Controlが別の機能なのか不思議に思う。

同意!ウィンドウ管理に関しては、Windowsにもいいところがあると思う。macOSに戻るたびに、ウィンドウが右半分や左半分にスナップする機能とか、Winキーで開いているアプリを全部見る機能とか、アプリ全体をフルスクリーンにしない最大化ボタンとかが恋しくなる。

Linuxのウィンドウマネージャを初めて使った時から、ウィンドウの移動とリサイズを扱う最良かつ唯一の方法は、スーパーボタン+左クリック/右クリックだと思ってる。もうピクセル単位でヘッダーやコーナーを狙う必要はない! https://www.reddit.com/r/Fedora/comments/qv0vmz/missing_supe...

そうそう、Linuxを使い始めたときに気づいたことの一つで、なんで他のOSはこれを真似しないんだろうって思ったんだよね。

最近仕事用に新しいMacを手に入れたんだけど、Hyprlandからの移行が大変だった。でも、少しずつ慣れてきてる気がする。AerospaceとKarabiner-Elementsのおかげでかなり進んだ。自分の使い方に合わせてワークスペースを動かすためにいくつかスクリプトを書かなきゃいけなかったけど、全体的にはLinuxのセットアップに近い感じになった。でも、super+右クリックでリサイズできるようにしたいな(ctrl+cmd+左クリックでウィンドウを動かすのは便利だった)。

ウィンドウ移動についてだけど、UIをウィンドウのタイトルバーに置くのが流行ったせいで、つかむものがなくなったって反応だと思う。別に気にしないけど、マウスに専用の「つかむ」ボタンがあればいいなって思う。両手使ってウィンドウを管理するのが面倒なんだよね。

これ使ってるよ。メンテされてないから、設定で支援制御へのアクセスを手動で有効にする必要があるけど、それ以外はまだまだ動いてるよ: https://github.com/jmgao/metamove これ、Fluxboxスタイルのウィンドウマネージャーから来た人にはピッタリだよ。設定のUIもあるけど、これで設定を自動化してるだけ: https://github.com/justjake/Dotfiles/blob/3d359f961b009478ef... 26にアップデートしてから数週間、角の掴みエリアがひどいって気づかなかったのは、角を使おうとしなかったからだな。

macOSでは、Control+Commandキーを押しながらこのコマンドを使うとウィンドウのドラッグが有効になるよ: defaults write -g NSWindowShouldDragOnGesture -bool true これを「三本指ドラッグ」と一緒に使ってるけど、ウィンドウの境界でのサイズ変更はあまり問題になってないな。

記事を実際に読む人には興味深い部分があって、その変更はRCで修正されて、最終リリースで元に戻されたんだよね。つまり、何らかの回帰や問題、間違った挙動や悪影響があったってこと。何だったんだろう…?ウィンドウのコーナーにもっと正確なクリックボックスを持つことの問題って、何だったんだろう?

もしかしたら、マージプロセスでの見落としかも?例えば、diffがRCにだけ適用されて、リリースブランチにはされなかったとか?よくわからんけど。

AIが変更を元に戻しちゃって、誰もちゃんとコードレビューしなくなったから、そのままプロダクションに行っちゃったんだよね。

何か技術的な詳細があるかも。例えば、2つのウィンドウがあって、1つのウィンドウの右下隅がもう1つのウィンドウの右上隅にほぼ触れている状態を想像してみて。バウンディングボックスは重なってるけど、グラフィックは重なってない。正確じゃない「偽の四角」の角だと、バウンディングボックスをチェックするだけでどのウィンドウをリサイズするか分かってたのに、今は実際のグラフィック(もしくはマスク)をチェックしなきゃいけない。問題だとは言ってないけど、そういうことが起こる可能性はあるよね。単純なバグ、例えばクラッシュやメモリの破損、未処理の例外、いつものやつかもしれないけど、時間内に修正できなかったから、バグのあるコードを放置するよりは元に戻した方がマシだったんだと思う。

macOSは複数の画面にまたがるウィンドウに関して変なところがあるよね。それが許容できないレベルになってると思う。例えば、動きやスナップが不整合になることがあるし。画面が繋がってなくて三角形の配置になってる僕のセットアップでは、しばらくの間、ちょっと狂ってた。

おそらく(自然な考え方として):彼らは公開テストをして、反応が良くなかったから、もっと良くできるまで保留にしたんだと思う。

これって、Appleのシステム内で一見簡単そうなことを実現するのがどれだけ難しいかを示してると思う。個人的には、このバグが表面化した後、なぜこんなに早く対応が決まったのか、他の長年放置されてるバグよりもそっちの方が気になるな。

ウィンドウのリサイズの話をしてるから言うけど、数ヶ月間、ウィンドウをリサイズできないことがあって、理由がわからなかったんだ。macOSのランダムバグだと思ってたけど、やっと気づいた!もしウィンドウが2つのディスプレイにまたがっていると、リサイズできないんだよね。マジで!外部モニターが上で、ノートパソコンが下にあって、ウィンドウをちょっとだけモニターからノートパソコンに伸ばすのは簡単なのに、リサイズできないなんて!

設定でこれをオフにできるよ。どこだったか正確には忘れたけど。実際、1〜2ヶ月後にはできない方がいいなって思ったんだ、ハハ。

数ピクセル伸ばすのは簡単?スーパープラス矢印でウィンドウを動かす方が、モニターの境界にぴったりスナップするから、こんな問題は起きないよ。最近はウィンドウを「手で」ドラッグすることはほとんどないね!

この件で一番驚いたのは、ここでのヒットテストがUIの解決済みの問題で、何十年も前からそうなのに、まだ他にもそれに反対する人がたくさんいるってこと。記事にあるように、あのひどい丸いコーナーがあっても、そんなに難しくないはずなんだけど、開発者たちが丸いコーナーを嫌がって、バグを増やす方向に頑張ったのか、デザイナーたちが欲しがってたのか、内部での争いがあったのかなって思う。結局、かなりの時間とお金が無駄に使われたんだろうな、官僚的なやり方だといつものことだけど。

モバイルSafariはタッチのヒットテストがひどいよ。コントロールの近くをタッチすると、誤ってそのコントロールにタップがスナップしちゃう場所がたくさんあって、使い勝手が悪くなることもある。理想的には、CSS内でタップゾーンを制御する方法があるべきだと思う。責任を持っていたページでその問題を修正する必要があったとき、HTML要素を追加する必要があって、全然理想的じゃなかった。確か、onclickハンドラーも明示的に追加しなきゃいけなかった気がする(onclickハンドラーを登録すると、Safariのタッチ動作が密かに変更されるっていう、厄介な隠れた副作用がある)。iOS26のSafariではタップを奪う新たな問題もあって、うんざりだよ。

ウィンドウのサイズ変更は、角を掴まなくていいときの方が楽だよね。Linuxでサイズ変更するのにキーを押し続けるって話もあるけど、キーボードを使わされるのは嫌だな。macOSでお気に入りの解決策は、Swishっていうアプリで、トラックパッドやMagic Mouseのジェスチャーでウィンドウを角や端に投げ込むことができるんだ。

うちのMac、ウィンドウをサイズ変更できるエリアにいるときに、リサイズカーソルが表示されないことが半分くらいあるんだ。イライラするよ。でも、ここで見られる問題とはちょっと違うかな。

この問題はみんなが満足する形で解決できるとは思えない。そもそも、ウィンドウの形をああしたのが悪い判断だったってことだよね。