先日のエントリー「Windows 10 の仮想デスクトップを制御しようとして失敗した話」で
- アプリ (C# コード) から仮想デスクトップの作成、削除、移動はできた
- 同一プロセス内のウィンドウを、任意の仮想デスクトップに移動させることはできた
- 他プロセスのウィンドウは、他の仮想デスクトップに移動させることはできなかった
の 3 つめの影響により「グローバル キーフックを使って現在アクティブなウィンドウを別な仮想デスクトップに飛ばすアプリ」が頓挫していた話をしました。
が、@tmyt の協力で完成しました。
どうやって回避したか (といっても、別に Windows 10 や IVirtualDesktopManager 固有の話ではなく、昔からあるネイティブなテクニック) の話は @tmyt のブログを待つとして 解説頂きました、せっかくなので完成したアプリの紹介をします。
SylphyHorn
という名前にしました (てきとう)。
ダウンロード: SylphyHorn (6964 ダウンロード )
※お約束ですが、アプリの使用はすべて自己責任で行ってください。このアプリを使用した結果生じた損害について、開発者は一切責任を負いません。
起動すると、タスク トレイに常駐します。
メニューは設定と終了のみ。超シンプル。
アクティブ ウィンドウを別の仮想デスクトップへ
既定の設定では、
- アクティブ ウィンドウを左の仮想デスクトップへ移動し、そこに切り替え
Ctrl(left) + Alt(left) + Win(left) + ← - アクティブ ウィンドウを右の仮想デスクトップへ移動し、そこに切り替え
Ctrl(left) + Alt(left) + Win(left) + → - 仮想デスクトップを作成し、アクティブ ウィンドウをそこへ移動し、切り替え
Ctrl(left) + Alt(left) + Win(left) + D
と、Windows 標準の操作に Alt キーを加えることで、アクティブ ウィンドウを巻き込むようにしています。
また、設定画面から
- 上記のショートカット設定
- 仮想デスクトップのループ (端に到達したら逆側に飛ばす)
- スタートアップにショートカットを作成
などが設定できます。
デスクトップ切り替え通知
仮想デスクトップを切り替えると、そのデスクトップが何番目かを表示する通知機能も実装しました。
設定画面から On/Off できます。
その他
細かいですが、設定画面や通知ウィンドウは Windows のテーマ設定によって色が変わります。
予定する機能
今後追加する予定の機能としては
- 通知を表示するモニターを選択できるようにする
- エラー発生時のダイアログが無骨なので何とかする
- アプリ アイコン (is ひどい (ので何とかしたい))
くらいです。
他に何か欲しい機能、不具合等ありましたら @Grabacr07 まで。
ソース コード
当然ながら公開してます。
https://github.com/Grabacr07/SylphyHorn
(readme 書くのサボってるマン)
まとめ
Windows が標準でショートカット キーに対応してくれたら、お役御免となるアプリです。
それまでの間だけお付き合い頂ければ。
Pingback: Windows 10 の仮想デスクトップを制御しようとして失敗した話 | grabacr.nét