KxNotifyUtils 0.0.2-test2

(wip)XSOverlay向け汎用VR通知アプリ

KxNotifyUtils

KxNotifyUtils は、監視対象(ソース)から通知を集め、通知先(シンク)へ中継する Windows 常駐アプリケーションである。

v1 のソースは Windows のデスクトップ通知、シンクは XSOverlay の Notification API であり、 VR セッション中でも Discord やメールなどのデスクトップ通知を HMD 内で確認できるようにする。

配布物は KxNotifyUtils.exe の 1 ファイルである。 DLL の同梱も zip の展開も要らず、exe を任意の場所に置けば動く。 設定とログと生成した vrmanifest は %APPDATA%\KxNotifyUtils\ に書く。

できること

  • Windows の通知を取得して XSOverlay へ中継する
  • アプリごとにアイコン、表示時間、通知音、音量、透明度、テキストの整形を変える
  • SteamVR の起動に合わせて自動起動し、SteamVR の終了に合わせて終了する
  • トレイから一時停止、テスト通知、設定の編集を行う

動作要件

  • Windows 10 バージョン 1703 以降(実運用ターゲットは Windows 11)
  • XSOverlay build 667 以降
  • SteamVR(SteamVR 連携を使わない場合は無くても常駐できる)

使い方

  1. Releases から KxNotifyUtils.exe を取得し、好きな場所に置く。
  2. exe を実行する。タスクトレイにアイコンが出る。
  3. Windows の設定でこのアプリに通知へのアクセスを許可する(初回起動時に設定画面へ誘導する)。
  4. トレイメニューの「テスト通知を送信」で XSOverlay に通知が出れば準備は終わりである。

初回起動時に SteamVR の自動起動へ登録する。 登録と解除はトレイメニューと設定ウィンドウの SteamVR タブから切り替えられる。

詳しい手順は セットアップガイド を参照する。 設定項目の一覧は 設定リファレンス にある。

既知の制約

  1. 通知アクセスの許可が要る。 Windows の設定 > プライバシーとセキュリティ > 通知 で、このアプリに通知へのアクセスを許可する必要がある。 パッケージ化されていないアプリではアプリ内からの許可要求が失敗することがあり、その場合は設定画面から手動で許可する。

  2. 通知センターに入らない通知は中継できない。 応答不可モード(フォーカスアシスト)やアプリ側の通知設定によって抑制された通知は取得できないことがある。 VR ゲームがフルスクリーン最適化で通知を抑制する場合が典型で、確実に中継したいアプリは応答不可モードの優先リストに入れておくとよい。

  3. XSOverlay は localhost からの接続しか受け付けない。 別のマシンで出た通知を中継する構成は組めない。

  4. 表示スタイルの大枠は XSOverlay 側の設定に従う。 本ツールが決められるのはアイコン、表示時間、高さ、透明度、通知音、テキストの内容である。 通知の配置やフォントは XSOverlay の管轄になる。

  5. 実行ファイルの移動には自動で追従するが、SteamVR の再起動が要ることがある。 exe を移動すると次回の起動時に vrmanifest を作り直して登録し直す。 SteamVR の起動中に移動した場合、SteamVR 側が新しいパスを認識するのは再登録の後になるため、自動起動が一度失敗することがある。

ビルド

Windows で次を実行する。

pwsh scripts/build.ps1

必要なものは Visual Studio 2022 以降の C++ ビルドツール(cmakerc.exe)と、Crystal の Windows 版(MSVC ツールチェーン)である。 手順の詳細と、Linux でどこまで検証できるかは 開発ガイド にまとめてある。

ライセンス

本体は MIT License で配布する。 依存するソフトウェアのライセンス表記は THIRD-PARTY-NOTICES.md にあり、同じ内容を実行ファイルへ埋め込んで設定ウィンドウの情報タブから読めるようにしている。

Repository

KxNotifyUtils

Owner
Statistic
  • 0
  • 0
  • 6
  • 0
  • 1
  • about 3 hours ago
  • August 25, 2026
License

MIT License

Links
Synced at

Tue, 25 Aug 2026 14:24:15 GMT

Languages