Windowsでブラウザー、ターミナル、エディターなどを並べて作業するなら、毎回マウスでウィンドウの大きさを調整する作業が積み重なります。PowerToys FancyZonesは、画面上に複数のゾーンを作り、ウィンドウを決めた位置とサイズへ配置できるウィンドウ管理機能です。Windows標準のスナップより細かいレイアウトを組めるため、定型的な作業環境を毎日使う人に向いています。
一方で、すべてのアプリが同じように扱えるわけではありません。リモート操作、仮想マシン、ゲーム、独自のウィンドウ描画を使うアプリでは、ゾーンに入らない、入力を奪われる、正確な配置にならないといった問題が起こり得ます。FancyZonesを導入するなら、最初から全アプリを移行するのではなく、普段使うアプリを1つずつ試す進め方が安全です。
PowerToysをインストールする
FancyZonesは単体製品ではなく、Microsoft PowerToysに含まれる機能です。動作条件は、Windows 11またはWindows 10 version 2004(20H1、build 19041)以降、x64またはARM64の64ビットプロセッサです。
導入方法は、Microsoft Store、PowerToysのリリースページから取得する実行ファイル、WinGetなどがあります。PowerShellまたはコマンドプロンプトから入れる場合は、次を実行します。
winget install --id Microsoft.PowerToys --source winget
実行ファイルを使う場合は、現在のユーザーだけが利用できる「Per User」と、PC上の全ユーザーが利用できる「Machine wide」を選べます。個人用PCなら前者、複数ユーザーで使うPCなら後者が候補です。Per Userはユーザープロファイル配下、Machine wideはProgram Files配下にインストールされます。
インストール後にPowerToys Settingsを開き、FancyZonesを有効にします。PowerToysにはKeyboard Manager、Image Resizer、PowerToys Run、Text Extractorなども含まれます。使わない機能まで有効にせず、必要なものだけオンにすると設定項目を把握しやすくなります。
レイアウトを作って配置する
PowerToys Settingsの「Open layout editor」からレイアウトエディターを開きます。既定のショートカットはWin + Shift + `(バッククォート)です。対象モニターを選び、既存のレイアウトを選択するか、「Create new layout」でカスタムレイアウトを作成します。
カスタムレイアウトにはGridとCanvasがあります。Gridはゾーンを分割・結合して作る方式で、画面サイズに応じて相対的に調整されます。左側を広い作業領域、右側を上下2段に分けるような構成なら、Gridから始めると扱いやすいでしょう。Canvasはゾーンを個別に移動・リサイズでき、ゾーン同士を重ねることもできます。決まった大きさの補助ウィンドウを自由に置きたい場合に向きます。
ウィンドウを配置するときは、対象ウィンドウをドラッグし、通常はShiftを押してゾーンを表示します。ゾーンを選んでドロップすると、その位置とサイズに収まります。設定で「Hold Shift key to activate zones while dragging」を変更すれば、ドラッグ開始時にゾーンを表示する動作にも切り替えられます。
隣接するゾーンの境界付近へカーソルを移動すると、複数ゾーンをまとめて選べる場合があります。1つのゾーンを有効にした状態でCtrlを押しながらドラッグする方法もあります。レイアウトごとに番号を割り当て、「Enable quick layout switch」を有効にすると、Win + Ctrl + Alt + 数字でアクティブな画面のレイアウトを切り替えられます。
キーボード操作と複数モニター
「Override Windows Snap hotkeys」を有効にすると、Win + 矢印キーでウィンドウをゾーン間で移動できます。「Zone index」はゾーン番号を基準にし、「Relative position」は現在の位置との関係を基準にします。Relative positionでは上下左右のキーがすべてFancyZones用に使われるため、Windows標準のスナップ操作を残したい場合は挙動を見ながら選びます。
同じゾーンに複数のウィンドウを置いた場合、Win + PgUpまたはWin + PgDnでそのゾーン内のウィンドウを切り替えられます。モニター間の移動では、設定から「Rotate windows across monitors」を有効にし、既定のAlt + Xを押しながら左右キーを使います。
「Allow zones to span across monitors」は、接続されたモニターを1つの大きな画面として扱う設定です。正しく動作させるには、すべてのモニターで同じDPIスケーリングを使う必要があります。異なる向きのモニターでは予期しない影響が出る可能性もあるため、まずはモニターごとに独立したレイアウトを作る方が切り分けやすいです。
配置できないときの切り分け
Windows Terminalやタスクマネージャーのように管理者権限で起動したアプリを配置できない場合は、PowerToysも管理者モードで実行します。対象アプリとPowerToysの権限レベルが異なると、位置変更が期待どおりにならないことがあります。
まずメモ帳など一般的なアプリで同じレイアウトを試します。一般的なアプリでは動くのに特定のアプリだけ失敗するなら、レイアウトよりアプリ側のウィンドウ実装を疑います。公式資料では、Citrix、Citrix Workspace、Hyper-V Connection、Parsec、RemoteApp、TeamViewerなどが互換性上の注意対象として挙げられています。RemoteAppはキーボードやマウスイベントを奪う場合があり、TeamViewerは表示ドライバーがFancyZonesの設定を妨げる可能性があります。
設定ファイルは「%LocalAppData%\\Microsoft\\PowerToys\\FancyZones\\custom-layouts.json」に保存されます。別PCへレイアウトを共有したり、細部を調整したりする用途には使えますが、手動編集は別の問題を招く可能性があります。まずエディターで作り直し、ファイル編集は必要な場合に限るのが無難です。
結論:定型配置には有効だが、事前の適性確認が必要
FancyZonesは、コードエディター、ブラウザー、ターミナル、資料表示など、毎日使うアプリの配置が決まっている人ほど効果を出しやすい機能です。レイアウト切り替えとキーボード操作まで整えると、ウィンドウ整理の手作業を減らせます。
反対に、リモート操作、仮想マシン、ゲーム、独自UI、異なるDPIのモニターを組み合わせる環境では、導入前の小規模なテストが欠かせません。通常のWindowsアプリを定型配置したい人には有力ですが、特殊なウィンドウ実装が中心なら、PowerToys FancyZonesで複数ウィンドウを整理する方法と向かない環境を見分けてから採用するのが現実的です。
