MacBookを外部モニターにつなぐとウィンドウが動く理由と、その直し方
外部ディスプレイを接続・取り外すと、macOSはウィンドウを並べ替えてしまいます。その理由と、役立つ標準設定、レイアウトを自動で復元する方法を解説します。
なぜ起きるのか
ディスプレイがなくなると、macOSはそのウィンドウをどこかに置く必要があるため、残った画面に積み上げます。ディスプレイが戻っても、macOSは確実には元に戻しません。一部のモニターは一瞬接続が切れるため、スリープと復帰でも同じ並び替えが起きることがあります。
ウィンドウ管理アプリによって、これは悪化もすれば改善もします。ウィンドウを画面外に置くタイル型やスクロール型では、それらのウィンドウがもう一方のモニターに押し出されることがあります。PaneruのREADMEでも、これを減らすためにディスプレイを縦に並べることを勧めています。
確認しておきたい標準設定
システム設定 → デスクトップとDock → Mission Control:「ディスプレイごとに個別の操作スペース」をオンにすると、各モニターが自分の操作スペースを保持します。
アプリをディスプレイに割り当てる:Dockのアプリアイコンを右クリック → オプション → 割り当て先。これは決まった操作スペースで開くアプリにしか効きません。
Desksで自動化する
Transomは接続中のディスプレイの組み合わせ(たとえば「内蔵Retinaディスプレイ」と「内蔵 + LG UltraFine」)をそれぞれ1つのデスクとして識別します。作業中は、各ウィンドウの位置と各ディスプレイのモードを記録し続けます。知っているデスクが再接続されると、macOSが落ち着くのを待ってから、すべてのウィンドウを元のディスプレイに戻します。Snapの位置に、あるいはStrip上の同じ順番で。
新しい組み合わせは、初めて使ったときに保存されます。設定することは何もありません。