このページの本文へ

Windows Info 第421回

進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加

2024年03月03日 14時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Microsoftのオープンソース・プロジェクトの1つ「PowerToys」は、さまざまなツールを詰め込んだユーティリティだ。

PowerToys

PowerToysのダッシュボード。有効/無効なモジュールとホットキーを表示する

 現在のバージョンは0.78.0、公開は今年の1月31日である。昨年は、月1回ほどのペースでバージョンを上げてきた。前回紹介したのが昨年3月で、このときのバージョンは0.67.1だった(「「Windows Terminal」「PowerToys」「Winget」 Microsoft系OSSのアップデート情報」)。マイナーバージョンアップが11回あり、細かなものを除いてもモジュール(PowerToysの機能の単位)が9個追加されている。今回は、PowerToysの現状を報告したい。

PowerToys

これまでのPowerToysのバージョンアップと新機能

 以下の表は、現在のPowerToysモジュールの一覧である。これは、設定ページにある大項目を抜き出したもので、いくつかのモジュールはさらに複数の機能に分かれている。このうち、新モジュールとして追加されたものには背景色をグレーにしてある。また、マウスユーティリティは、以前からあるモジュールだが「マウスジャンプ」が新機能として追加されている。

PowerToys

 まずは、新しいモジュールを見ていくことにしよう。なお、モジュールの名称は、PowerToysの設定画面のものを使う。MicrosoftのWebサイトにある「PowerToys解説ページ」では、異なる名称が使われているので注意してほしい。

 「Awake」は、PCのスリープを止める機能のモジュール。スリープさせない期間は、「無期限」「日時指定」「時間指定」「電源モードに従う」の4つのモードで選択する。プレゼンテーションやスクリーン録画、長時間のプログラム実行など、PCの操作はしなくても、画面を出し続けたいといった用途を想定したものだ。

 この機能がなければ、電源プランのスリープ設定を切り替えるなど操作は少し面倒になる。Awake自体は、電源プランの設定は変更せず、スリープ状態に入らないように制御している。

 設定は、PowerToysの設定ページやタスクトレーのAwakeアイコン(PowerToysとは別)からも可能だが、コマンドラインから「PowerToys.Awake.exe」でもできる。ただし、筆者の環境では、パスが設定されておらず、フルパスを指定する必要があった。実行ファイルは、ユーザーフォルダの下の

$env:userprofile\AppData\Local\PowerToys

にある。起動オプションの詳細は、Microsoftのページ(https://learn.microsoft.com/ja-jp/windows/powertoys/awake)を参照してほしい。この手のMicrosoftコマンドのいつものスタイルで、コマンドからは設定のみが可能で、現在の状態を報告する機能はない。

 「Command Not Found」は、PowerShellの機能強化で、コマンドラインのエラーを検出して、インストールすべきパッケージを提案するもの。PowerShell 7.4以上に対応(Windows PowerShellには対応せず)し、パッケージマネージャーのWingetを使う。

 インストールはPowerToys内でボタンを押すだけで、PowerShell側の操作は不要である。ただし、PowerShellが起動時に読み込むプロファイル($PROFILE)の末尾にImport-Moduleコマンドを追加し、PowerShellの実験的機能を有効にする(Get-ExperimentalFeatureで確認できる)。

 この機能は、コマンドの実行ファイルを見つけられない場合に、エラーになったコマンド名を使ってWinGetのリポジトリを検索、それらしいプログラムを推奨するもの。たとえば、skypeがインストールされていないとき、コマンドラインに「skype」と入力すると、エラーとなり、WinGetのリポジトリにあるパッケージを検索してコマンド名(skype)を含むものを列挙する。

PowerToys

Command Not Foundモジュールは、PowerShell 7.4にエラー時の提案機能を追加する。なお、これは、PowerShellの実験機能(Get-exprimentalFeature)を変更し、プロファイルの末尾のImport-Moduleを追加する

 「トリミングとロック」(英語名Crop And Lock)は、アプリケーション・ウィンドウからその一部のみを切り出し(Croped)したウィンドウを作成する。作成されるウィンドウは2種類あり、操作ができないもの(サムネイル)と強制的にウィンドウサイズを変更したもの(トリミング)である。前者は操作はできないものの、アプリケーション側のウィンドウ更新には追従する。

 後者は、操作が可能なものの、現時点では実験的な機能とされており、ウィンドウを強制的にトリミングしている関係でアプリケーションの動作に問題が生ずる可能性がある。

 個人的にはあまり使い道を想像することができず、ノートPCなど、解像度が高くないマシンの場合に、ウェブページの必要な部分を表示させておくといった程度しか思いつかなかった。だったらホットキーで切り替え可能な仮想デスクトップでもいいのではないかと思う。

 「環境変数」は、ユーザー、システムの環境変数の作成と編集を行うモジュール。「設定」→「システム」→「バージョン情報」→「システムの詳細情報」→「環境変数ボタン」で表示される「環境変数ダイアログボックス」の簡易版である。

 最大のメリットは、手数の多い前記の手順を使わず、タスクトレーにあるPowerToysアイコンを左クリックして表示される「クイックアクセスシステムトレーランチャー」から、起動することができる点。

PowerToys

クイックアクセスシステムトレーランチャーは、システムトレー内のPowerToysアイコンの左クリックで表示されるランチャー。ホットキーを持たないモジュールを起動する

 環境変数の新規作成は普通だが、編集機能が少し面倒だ。いまのところは、環境変数ダイアログを直接開くコマンド

C:\Windows\System32\rundll32.exe sysdm.cpl, EditEnvironmentVariables

でショートカットを作ってスタートメニューから起動した方が便利そうだ(システム環境変数を編集する場合には管理者権限で起動する必要がある)。

PowerToys

「環境変数」モジュールは、環境変数の表示・編集をするGUIツール。PATHなど多項目を含む環境変数の編集が少々やりにくいが、「;」で区切られた値項目が多くなければ割と使いやすい

 「マウスジャンプ」は、マウスユーティリティに追加された新機能で、デスクトップのサムネイルを表示し、クリックしたところにマウスカーソルを移動させるもの。

 「境界のないマウス」は、以前、Microsoft Researchから公開された「Mouse Without Borders」である。最大4台までのマシンでマウス、キーボードを共有するものだが、各マシンにPowerToysをインストールし、LANで接続されている必要がある。

 「プレーンテキストとして貼り付け」は、クリップボードにあるテキストから書式のないプレーンテキストのみを貼り付けるモジュールだ。コピー元のアプリケーションにも依存するが、Windowsではアプリケーションがクリップボードにコピーするとき、可能な限り多くの形式でデータを保存することが要求されている。

 テキストの場合、同時にリッチテキスト形式やHTML形式が含まれることがある。このような場合、受け入れ先のアプリケーションは、自身に最も適した形式を選択する。たとえば、Windows Terminalではテキストのコピー時にリッチテキスト形式とHTML形式を含めることができる(設定に依存)。これをワードパッドやWordに貼り付けると、リッチテキスト形式のテキストが選択される。「プレーンテキストとして貼り付け」は、専用のホットキーを使うことで、貼り付け時に書式のないテキストだけを貼り付けることができる。

 「プレビュー」(英語名Peek)は、汎用のファイルビューアーである。エクスプローラーのプレビューハンドラを使ってファイルの内容を表示するウィンドウを表示する。エクスプローラーのプレビューペインと同等の表示能力を持ち、プレビューペインより便利だ。別のウィンドウをアクティブにすると自動的にウィンドウを閉じる機能や表示位置を固定する機能もある。

 「レジストリプレビュー」は、レジストリ設定が記録されているregファイル用のエディタである。ウィンドウ左側がregファイルエディタ、右側がツリーとプロパティ表示領域になっている。

PowerToys

レジストリプレビューは、regファイルの編集(ウィンドウ左側)とツリー表示(右上)、プロパティ一覧(右下)の3つのペインを持つ

 レジストリエディタと異なるのは、メモリ内のレジストリではなく、regファイルを対象としていること。ただし、「レジストリプレビュー」からregファイルのレジストリへの反映やレジストリエディタの起動が行える。この機能も前述の「クイックアクセスシステムトレーランチャー」から起動が可能だ。

 「ダッシュボード」は、設定ページ先頭にあり、現在の各機能の有効状態とホットキー設定を表示できる。ここで直接、機能の有効化、無効化が行えるほか、設定ページへの移動も可能だ。PowerToysの各機能を一覧でき、オンオフが容易だ。PowerShellで利用しているデフォルトのホットキーを以下の表に示す。PowerToysはいつでも有効なホットキーを多数使うので、他のホットキーツールと併用する場合に注意が必要だ。

PowerToys

 前回の記事から1年近くが経過し、モジュールも多数追加されている。ただ、全体的にまだ荒削りな感じが残る。筆者の手元の環境では、File Explorer add-onsの「ソースコードファイル(モナコ)」のプレビューハンドラが動作しない機種がいくつかあった(正しく動く機種もある)。

 マイナーバージョン(バージョン番号の2つ目の値)は次々上がっていくが、いまだにメジャーバージョンが1にならないところを見ると、しばらくは機能追加と品質向上を並行させていくのだと思われる。GitHubのバク報告などをみると、同じバグが繰り返し発生していることもあり、なかなか落ち着きそうな感じがしない。とはいえ、たしかに便利な機能もあり、使わないという選択肢もなさそうだ。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン