お疲れ様です、田村です。
XREAL One Proで株の画面を見るとき、TradingViewと自作の画面を毎回開いて並べ直すのが面倒でした。そこでCodexを使い、Stream Deckのボタンを1回押せば、必要な画面をXREALの左右に並べるツールを作りました。
完成までには何度かつまずきました。Chromeが右側に移らず、移っても画面の端が見切れました。この記事では、何をしたかったのか、どこで困り、どう直したのかを順に書きます。
ボタンを押したときだけ、株の画面を呼び出す
XREALは株を見るとき以外にも使います。つないだだけでTradingViewが開くと困るので、株の画面を使いたいときにだけStream Deckのボタンを押す形にしました。
ボタンを押すと、ツールは次の順で動きます。
- XREALがPCにつながっているか調べる。つながっていなければ、何も開かずに終わる。
- 必要なアプリが閉じていれば起動する。
- TradingViewを左側、自作の株用画面を開いたChromeを右側に置く。
私の株用画面はStockCockpitというローカルのWebアプリです。画面を表示するためのサーバーは、先に動かしておく必要があります。このボタンだけでサーバーまで起動するわけではありません。
XREALをどう見分けるか
最初は、WindowsがXREALをどの画面として認識しているかを調べました。私のPCでは「DISPLAY2」と表示されましたが、画面番号だけを目印にすると、接続のしかたが変わったときに別の画面を選ぶかもしれません。
そこで、診断で表示された機器の識別情報を使い、XREALがつながっているかを判定するようにしました。この識別情報は私のPCで確認したものです。別のPCで試すなら、そのPCで画面を調べ直す必要があります。
Chromeが右側に移らなかった
最初の実行ではTradingViewは左に移りましたが、Chromeは右に来ませんでした。ツールが「StockCockpit」という名前のChromeウィンドウを探していたのに、実際に開いたウィンドウの名前が想定と違っていたためです。
そこで、Chromeを開く前と後を比べ、新しく増えたウィンドウを探すように直しました。これで右側へ移す処理は進みました。
右側に移っても、端が見切れた
次はChromeが右へ移ったものの、ウィンドウが大きすぎて右端が見切れました。ログには「移動した」と出ていても、実際の画面は収まっていません。
私のXREALではWindowsの表示倍率が125%です。Chromeを開いた直後、指定した大きさより実際のウィンドウが大きくなった記録がありました。そこで、起動が落ち着いてから大きさをもう一度合わせる処理を加えました。
同じ確認で、閉じたTradingViewが起動しないことも分かりました。私が使っているMicrosoft Store版を起動できるよう、呼び出し方も修正しています。
最後は、両方を閉じた状態から確認
TradingViewとChromeを閉じてからボタンを押すと、両方が立ち上がり、XREALの左右に見切れず収まりました。毎回手で並べていた作業を、1回の操作にまとめられました。
今回役立ったのは、「XREALを見つけたか」「アプリを起動できたか」「目的のウィンドウを見つけたか」「画面内に収まったか」を分けて確かめたことです。ログに成功と出ても、最後は実際の画面を見て判断しました。
このツールは私のWindows PCと画面構成に合わせたものです。ほかのPCで同じ動作をするかは確かめていません。XREALを普段どう使っているかは、2枚目のモニターを買わずにXREALへ切り替えた記事に書いています。XREALの物理的な切り替えとは別に、今回は接続した後の画面操作の話です。