結論から言うと: Rectangle macは通常、カーソルがある画面ではなく、ウィンドウがすでに存在している画面にスナップさせる。これが逆だと感じるなら、Rectangleの設定でカーソルに従うように切り替えよう。設定1つで、「間違ったモニター」に関する不満のほとんどが消える。
なぜその画面を選ぶのか
すべてのウィンドウコマンドには対象画面が必要で、2台のモニターがある場合には2つの正当な答えがある:ウィンドウを保持している画面か、ポインタを保持している画面かだ。Rectangleはデフォルトでウィンドウのほうを選ぶ。
そのデフォルトは、キーボード中心の作業には正しい。Command+Tabであるアプリに切り替え、左半分のショートカットを押すと、たまたまマウスをどこに置いていたかに関係なく、ウィンドウはすでにある場所で整えられる。ポインタが漂ったせいでディスプレイをまたいで何かが飛んでいくことはない。
これはマウス中心の作業には不向きだ。カーソルを自分の注意がどこにあるかの目印だと考えているなら、ウィンドウが自分のほうへ来ることを期待するが、実際には見ていないモニターの上できれいにスナップしてしまう。
どちらの挙動もバグではないため、これがなかなか診断されない理由でもある。アプリは指示されたことを、自分の習慣とは異なるルールに従って正確にこなしているだけなのに、人々は何かが壊れていると思い込んでしまう。
解決法
メニューバーのアイコンからRectangleの設定を開き、どの画面を現在とみなすかを制御するオプションを見つけよう。カーソルを含むディスプレイを使うように設定する。すぐにテストしよう:ポインタを2台目のモニターに置き、1台目にあるウィンドウにフォーカスを合わせ、左半分のショートカットを押す。これでウィンドウはポインタの下に収まるはずだ。
結論を出す前に数日試してみよう。この設定は反射的な動作を組み替えるものであり、それまでとは違う習慣を築いてきた人にとっては、どちらの挙動であっても最初の1日は違和感がある。最もはっきりした判断材料は、ショートカットを押すときにどちらの画面を見ているかだ。目がすでに目的地を見ているなら、カーソル基準のほうが向いている。
配置自体が間違っている場合
外から見ると同じに見える別の不具合もある:ウィンドウは正しいディスプレイに収まるのだが、そのディスプレイ内で間違った側に行ってしまったり、移動用のショートカットが意味の通らない方向にウィンドウを動かしたりする。
システム設定 → ディスプレイを開き、配置図を見てみよう。macOSはディスプレイを仮想的な座標空間の中に配置しており、その空間が「次のディスプレイ」の意味を決めている。図では外部モニターがノートパソコンの左側にあることになっているのに、実際には物理的に右側に置かれているなら、方向を伴うすべてのコマンドは逆向きに動く。図がデスクの実際の配置と一致するまで、ディスプレイのアイコンをドラッグしよう。
縦方向の積み重ねも同じように人を惑わせる。モニターがノートパソコンの上に設置されているのに、図では横並びに配置されていると、配置を修正するまで移動が思うようにいかなくなる。
その配置に何か変更を加えた後は、Rectangleを終了して再度開こう。画面のジオメトリは起動時に計算されるため、以前のレイアウトから残った古い計算結果は、まさに人々をバグ報告へと駆り立てるような、自信満々の間違った配置を生み出す。新しいモニターを接続したり、解像度を変更したりした後も同様だ。
クラムシェルモードと消えるディスプレイ
ふたを閉じた状態で作業すると、ディスプレイの構成が変わり、それによって移動用のショートカットができることも変わる。内蔵画面は構成から完全に外れるため、次のディスプレイへのコマンドは接続されている外部モニターの間だけを巡回する。外部モニターが1台だけの場合、移動先となる2台目のディスプレイが存在せず、ショートカットはまったく何もしない。
これは私のもとに届く、より混乱を招く報告の1つを生む。昨日はふたが開いていてショートカットが動いたのに、今日はふたを閉じたら何も起こらず、Rectangle側は何も変わっていない。ウィンドウを送る先がないのだ。
セッションの途中でふたを開け閉めした場合も、Rectangleの再起動をしておく価値がある。それをすることでディスプレイが構成に出たり入ったりするからだ。
モニターを切断すると何が起こるか
外部ディスプレイを取り外すと、macOSはそのウィンドウを残っている画面へと移動させ、たいていはリサイズされ、自分が選んだであろう配置になることはめったにない。これはRectangleではなくシステム側の仕業であり、どのウィンドウマネージャーもこれを防ぐことはできない。
できることは、素早く再構築することだ。再接続してから、レイアウト用のショートカットをかけ直そう。無料版では、これはウィンドウ1つにつき数回のキー操作で済むが、そもそもそれがショートカットを用意している理由でもある。Rectangle Proなら1ステップで保存したレイアウトを復元でき、1日に何度もドッキング・アンドッキングを繰り返すなら、この機能だけでその価値があると言える。
ウィンドウの配置がおかしくなるだけでなく、ディスプレイの変更後にスナップエリアそのものが表示されなくなった場合は、それは別の症状で原因も異なる。スナップエリアのガイドで解説している。
よくある質問
Rectangleはウィンドウをどのモニターにスナップさせるかをどう決めているのか?
デフォルトでは、操作対象のウィンドウがすでに存在しているディスプレイを使うため、半画面コマンドを実行してもウィンドウはその場にとどまる。代わりに、カーソルを含むディスプレイを使うようにすることもでき、その場合はポインタとフォーカスされているウィンドウが異なる画面にあるときに結果が変わる。
ウィンドウが間違った画面に移動するのは、なぜ時々だけなのか?
2つの可能な答えは、ほとんどの場合一致するからだ。カーソルがウィンドウと同じディスプレイにある場合、どちらのルールでも同じ結果になる。ポインタを1つの画面に置いたまま、別の画面にあるウィンドウがフォーカスを持っているときにだけ、食い違いが現れる。
モニターを切断すると、ウィンドウはどこへ行くのか?
macOSはそれらを残っているディスプレイへ移動させ、たいていは収まるようにリサイズされ、以前あった配置になることはめったにない。Rectangleはこの挙動を制御していない。再接続後にレイアウト用のショートカットをかけ直すのが現実的な対処法で、Rectangle Proなら1ステップで保存したレイアウトを復元できる。
ノートパソコンのふたを閉じた状態でも移動用のショートカットは機能するのか?
機能するが、ディスプレイの構成が変わる。クラムシェルモードでは内蔵画面は構成に含まれないため、次のディスプレイへのコマンドは接続されている外部モニターの間だけを巡回する。外部モニターが1台しかない場合、ウィンドウを送る先がなく、そのショートカットは何もしていないように見える。
