レビュー

Macの“緑ボタン”をWindows 11で ~ウィンドウを仮想デスクトップへ最大化するツール

Microsoftのえらい人Scott Hanselman氏開発の「MaximizeToVirtualDesktop」

macOSの緑ボタン。単にクリックするとウィンドウをフルスクリーン(全画面)表示にする(Appleのサポートページより引用)

 macOSのウィンドウ左上には赤・黄・緑の3ボタンがあり、“緑”をクリックするとウィンドウをフルスクリーン(全画面)表示にする。Windows 11のウィンドウ最大化と異なるのは、ウィンドウにデスクトップ全体が割り当てられ、3本指または4本指の左右スワイプでデスクトップとフルスクリーンアプリを切り替えられる点。慣れるとこれは使いやすく、Windowsにもほしいと感じる人も少なくないだろう。

 今回紹介する「MaximizeToVirtualDesktop」は、このmacOSの挙動をWindows 11で再現するアプリだ。開発者はMicrosoftのえらい人(開発者コミュニティ担当副社長)Scott Hanselman氏。「GitHub」でホストされているオープンソースプロジェクト(ライセンスは「MIT」)で、リリースページから無償でダウンロードできる。

使い方と仕組み

 本ソフトは「C#」(.NET)言語で開発されており、サードパーティー製のライブラリなどには依存しない、堅牢な設計になっている。そのため、ZIP形式の書庫ファイルをダウンロードして展開し、「MaximizeToVirtualDesktop.exe」を実行するだけで利用可能だ。

「MaximizeToVirtualDesktop」v0.1.1

 実行するとタスクトレイに常駐し、以下の操作でウィンドウを新しい仮想デスクトップへ移し、最大化する。

  • [Ctrl]+[Alt]+[Shift]+[X]キー:復元も同じキーで可能
  • [Shift]キーを押しながら最大化ボタンをクリック

 仮想デスクトップには、自動で「[MVD] (プロセス名)」という名前が割り当てられる(「MVD」は本ソフトの略称)。タスクバーの[タスク ビュー]ボタン([Win]+[Tab]キー)やタッチパッドのジェスチャーを利用すれば、macOSと同様に元のデスクトップとフルスクリーンウィンドウを行き来できる。

ウィンドウを新規仮想デスクトップへ割り当てたうえで最大化

 秀逸なのは“後始末”で、ウィンドウを閉じたり、最大化を解除したり、ホットキーをもう一度押したりすると、ウィンドウは元のデスクトップ・元のサイズへ自動で復元され、一時的に作られた仮想デスクトップも削除される。アプリがクラッシュした場合でも、次回起動時に残された仮想デスクトップを自動でクリーンアップしてくれる。

 そのほかにも、トレイアイコンの右クリックメニューからすべてのウィンドウを一括復元することも可能。キーボードショートカットの変更もサポートされている。

タスクトレイの右クリックメニュー
設定画面

注意点

 ただし、[Shift]+最大化ボタンクリックが効かないアプリもある点には注意。

 この操作を受け付けるのは、Windows 11の「スナップ レイアウト」(Snap layouts)が機能するアプリだけだ。独自のタイトルバーを持つアプリでは働かないことがある。

 その場合は、キーボードショートカットを利用するとよいだろう。ショートカットであれば「スナップ レイアウト」未対応のアプリでも機能する。

 また、管理者権限で動作しているウィンドウは、通常権限で起動した本ソフトからは操作できない点にも注意したい。

仮想デスクトップを自動化する際の問題点

 そのほかにも、頭の片隅に置いておきたいのがWindows 11の仮想デスクトップ機能自体に由来する制限だ。

 Windows 11の仮想デスクトップはAPIを介して操作できるが、本アプリのような挙動を実現するには十分ではなく、有志によって解析(リバースエンジニアリング)された非公開のCOMインターフェイスに依存している。このインターフェイスの識別子(GUID)はWindowsの大きなアップデートのたびに変更されるため、この種のツールは年に数回、静かに動かなくなる宿命を背負っている。

 本ソフトはこの問題への備えとしていくつかの対策を組み込んでいるが、根本的な解決には仮想デスクトップ関連APIの拡充が必須だ。Windowsチームによる対応に期待したい。

ソフトウェア情報

「MaximizeToVirtualDesktop」
【著作権者】
Scott Hanselman 氏
【対応OS】
Windows 11(バージョン 21H2以降)
【ソフト種別】
フリーソフト
【バージョン】
0.1.1(26/05/18)