Rectangleの隠れた設定:すべてのターミナルコマンドを解説
Rectangle appの環境設定ウィンドウは、意図的に最小限に絞られている。それよりもずっと長い設定項目のリストが存在するが、それらにアクセスできるのはdefaults writeコマンド経由だけで、プロジェクト自身のTerminalCommands.mdに文書化されている。ここでは特に重要なカテゴリを、そのファイルと直接照らし合わせて確認しながら取り上げる。以下のコマンドはどれも、実行後にRectangleを再起動する必要がある。これらの値は起動時に読み込まれるからだ。無料版ではなくRectangle Proを使っている場合は、どのコマンドでもcom.knollsoft.Rectangleをcom.knollsoft.Hookshotに置き換えてほしい。
ほぼ最大化:サイズを調整する
デフォルトでは、ほぼ最大化はウィンドウを画面の幅と高さの90%にリサイズする。これは、端にわずかにデスクトップが見える、ほぼフルスクリーンに近い表示だ。この幅と高さの2つの数値は、それぞれ独立して調整できる。
defaults write com.knollsoft.Rectangle almostMaximizeHeight -float <0から1の間の値>
defaults write com.knollsoft.Rectangle almostMaximizeWidth -float <0から1の間の値>
たとえば0.8という値を指定すれば、デフォルトの90%ではなく80%にリサイズされる。
ウィンドウ同士の隙間
タイル分割されたウィンドウと画面端の間に、ピクセル単位の隙間を追加できる。ドキュメントによれば、この設定はデフォルトで最大化と高さを最大化に適用され、画面端における隙間は、ウィンドウ同士の隙間とは別の設定として構成されている。それぞれの端の余白は個別に設定でき、デフォルト値は5だ。
defaults write com.knollsoft.Rectangle snapEdgeMarginTop -int 10
defaults write com.knollsoft.Rectangle snapEdgeMarginBottom -int 10
defaults write com.knollsoft.Rectangle snapEdgeMarginLeft -int 10
defaults write com.knollsoft.Rectangle snapEdgeMarginRight -int 10
また、タイルレイアウトには隙間を入れつつ、ウィンドウを最大化したときは本当に端から端までぴったり埋めたい場合のために、最大化時に限って隙間を無効にする、文書化されたスイッチも用意されている。
方向キーでの移動時にサイズも変更する
デフォルトでは、左/右/上/下へ移動というコマンド(サイズ変更を伴わない移動)は、ウィンドウのサイズをまったく変えない。resizeOnDirectionalMoveを有効にすると、これが変わる。左右への移動は、代わりにウィンドウの幅を半分→3分の2→3分の1という順に巡回させ、上下への移動は高さについて同じことを行う。
defaults write com.knollsoft.Rectangle resizeOnDirectionalMove -bool true
ドキュメントは、知っておく価値のある相互作用について注意を促している。「次の実行」モードがディスプレイの巡回に設定されている場合、この設定を有効にすると、左右への移動は必ずまず半分にリサイズされ、2回目の押下で次のディスプレイに移動するようになる。つまりこの2つの設定は、完全に独立して動作するのではなく、互いに影響し合う。
スナップ領域の挙動:6分の1、余白、無視するゾーン
キーボードショートカットではなく、端へのドラッグによるスナップの動作を調整する設定がいくつかある。
- 6分の1に対応するスナップ領域を有効にする — デフォルトの端へのドラッグゾーンでは有効になっていないが、オンにすることで、角に向かってドラッグしてそのまま端に沿って続けると、4分の1や3分の1で止まるのではなく6分の1に到達するようになる。
- スナップ領域の余白を変更する — スナップのプレビューが表示されるまでに、カーソルが端にどれだけ近づく必要があるかを調整する。
- 特定のドラッグでスナップする領域を無視する — 通常のウィンドウ再配置の際に誤って発動してしまう特定のゾーン(たとえば上端での最大化)を無効にする。
- ドラッグでスナップする際に表示される「フットプリント」を変更する — プレビューの見た目や挙動をデフォルトとは変えたい人向けの設定だ。
- ドラッグでスナップする機能自体が発動する前に、修飾キーを押し続けることを必須にする — 端の近くでのドラッグを、追加のキーを押していない限り通常通りに動作させたい人向けの設定だ。
縮小/拡大:上限・下限と増分幅
縮小と拡大が使うサイズの増分幅、そしてこれらのコマンドでウィンドウを縮小できる最小サイズは、どちらも個別に設定可能だと文書化されている。デフォルトの増分幅が、自分が望むリサイズの精度に対して粗すぎたり細かすぎたりする場合は、調整する価値がある。関連する「隙間付きのカーテンリサイズ」という設定は、隙間の設定も同時に有効になっている場合に、これらのコマンドがどう振る舞うかに影響する。隙間のあるウィンドウには、画面境界に文字通り接する端が存在しないため、そうでなければ端における「より小さく」が何を意味するのかが曖昧になってしまうからだ。
ウィンドウの復元に関する挙動
デフォルトでは、ウィンドウのサイズを変更した後にそれを(Rectangle mac経由であれ他の方法であれ)移動させても、「元に戻す」アクションで使われる内部記録はリセットされない。ウィンドウの移動が、「元に戻す」の戻し先も同時に消去するようにしたい場合は、この挙動を無効にできる。
タイトルバーのダブルクリックに関する挙動
Rectangle appは、ウィンドウのタイトルバーをダブルクリックしたときの動作を変更する方法を文書化している。これは本来、ほとんどのウィンドウマネージャーがまったく手を出さない、macOSレベルの挙動だ。
カーソルがウィンドウに追従する
Rectangle appの操作でウィンドウが再配置されたときに、マウスカーソルもウィンドウと一緒に動かす、文書化されたオプションがある。フォーカス・フォロー・マウス的なワークフローでカーソルの位置に頼っている場合、ウィンドウが下から移動してしまってもカーソルが取り残されないようにしたいときに便利だ。
標準以上の追加サイズ調整コマンド
このファイルには、Rectangle appの組み込みカタログを超えて、まったく新しいアクションを追加するいくつかの方法が文書化されている。追加した後は、それぞれ独自のショートカットに割り当てられる。標準セットを超えた追加の9分の1、追加の8分の1、追加の3分の1、カスタムサイズでの中央配置コマンド、そしてウィンドウサイズを2倍または半分にするコマンドなどだ。これらは、既存のアクションの挙動を変えるだけでなく、アクション一覧そのものに使える機能を増やすものだ。
Mission Controlの誤発動を防ぐ
文書化されているある設定は、特定の煩わしさに対処するためのものだ。メニューバーの上まで素早くウィンドウをドラッグすると、意図したドラッグ操作を完了させるのではなく、macOSのMission Controlが起動してしまうことがある。この設定を調整すれば、画面上部への素早いドラッグが、スナップの途中で誤ってMission Controlを呼び出してしまうことを防げる。
デフォルトに戻す、あるいはショートカットセットを丸ごと切り替える
ショートカットを変更していて元に戻したい場合、環境設定ウィンドウの設定 → デフォルトのショートカットに戻すを使えば、ターミナルなしでこれができる。同じ切り替えはコマンドとしても用意されており、Rectangle自身が推奨する標準設定にはtrue、Spectacle互換セットにはfalseを指定する。
defaults write com.knollsoft.Rectangle alternateDefaultShortcuts -bool true
安全に使うための注意点
これらの設定はどれも試すこと自体が危険なものではない。最悪の場合でも、対応する値を削除した状態でRectangleを再起動すれば(defaults delete com.knollsoft.Rectangle <キー>)、その1つの設定についてはデフォルトの挙動に戻せる。このファイル自体はアプリのリリースと並行して積極的にメンテナンスされているため、古いブログ記事やフォーラムのスレッドで説明されていた設定がもう存在しないように見える場合は、自分のターミナルコマンドが間違っていたと決めつける前に、最新のTerminalCommands.mdを直接確認してほしい。基盤となるアプリが進化するにつれて、設定項目の名前が変わったり、追加されたり、削除されたりすることも時折ある。