エミュレータ起動時の表示位置やウィンドウサイズを変更しよう

ユーティリティSwindom

Swindom イベント画面

UIからウィンドウサイズを任意に設定出来ないとか、いつも同じ位置にウィンドウを置いておきたいのに起動すると必ず中央に表示されちゃうみたいな、どんなお気に入りのエミュでもそこさえ何とか出来たらなぁという事はありますよね。

そこで当エントリーではSwindomというフリーソフトを利用してエミュレータ起動時の表示位置やウィンドウサイズを設定する方法を紹介したいと思います。

Swindomの導入

アプリ起動時にウィンドウの表示位置やサイズを変更したり、枠を掴んで移動させた時に画面の端にピタッとくっつくようにしたり、ウィンドウに透過度をつけたり出来る便利なアプリです。エミュレータに限らず一般的な用途でも使い所は多いんじゃないでしょうか。

大規模な変更を予定しているとの事なので今このタイミングで紹介するのもどうかと迷いましたが、基本的な使い方はそれほど変わらないだろうという事で。

以前はKaciy Window Operationという名前で当サイトでも紹介した事がありましたが、今はSwindomに改名されたようです。

Swindomのダウンロードとインストール

先ほどのリンク先からも飛べますが一応貼っておきますね?

.NET 6のランタイムが必要なのでこちらから .NET デスクトップ ランタイム をダウンロードしてインストールしましょう。

現在.NETの最新バージョンは7ですが、6が入ってないとエラーになるはずです。

ダウンロードしたバイナリを任意の場所に展開して Swindom.exe を実行します。

尚、当エントリーでは以下のバージョンを使用しています。

Swindomのバージョン

v4.1.1-beta

Swindomの設定

まずは 設定 を開きます。

全般

ここは見ての通りなのでお好みでどうぞ。

貼り付ける位置をずらす

Windowsの機能でウィンドウ枠にシャドウ分の余白が含まれているのを補正する為に行いますが、シャドウを無効化していないか気にならないという方はこの設定は無視していただいても構いません。

  • 貼り付ける位置をずらす を有効に
  • 左端:-8
  • 右端:8
  • 下端:8

上端は影響が無いようなので0のままにしてあります。

イベントの追加

エミュレータ毎の設定をここで管理します。

設定を追加する時の注意点
  • 設定を追加する前にエミュレータを先に起動して設定したいウィンドウを表示させておく
  • 以下の説明で特に触れていない項目は基本的にそのままでOK

イベント を開いて +追加 をクリック。

ウィンドウ情報取得 をクリック。

次のポップアップが表示されるので OK で閉じてから、起動しておいたエミュレータのウィンドウをアクティブにして5秒ほど待ちます。

ウィンドウ情報が取得出来たので OK で閉じます。

この時に参照するウィンドウですが、エミュレータ起動時にはゲームリストが表示されていてそこからゲームを起動すると更に違うウィンドウが開く場合はゲーム起動後のウィンドウで設定する必要があります。なので本体用とゲーム用でそれぞれ設定が必要なエミュレータがあるかも。

ウィンドウ判定

ウィンドウ情報取得 でゲットした内容を元に設定を行います。

実はそのままでも普通にいけちゃうんですが、バージョンなどが入っているとアップデートした時に動作しなくなるので汎用性を持たせる為に修正する感じです。

次の画像はVita3Kの設定例ですが、左が情報取得後で右がそこに変更を加えた状態です。

登録名

パッと見て何の設定か自分でわかる名前をつけておきましょう。

このエントリーの画像ではそうなっていませんが、私はエミュレータ名+解像度+アスペクト比+α(設定など)にしています。

タイトル名

エミュレータ名だけの場合はそのままでOKですが、実際はエミュレータ名+バージョンというパターンが多いのでそのまま使用するとバージョンアップした時に動作しなくなってしまいます。なのでバージョン以降を削除してプルダウンメニューから 前方一致 または 部分一致 を選択します。

クラス名

これもQtのバージョンなどが入っていない固定名の場合はそのままでOKですが、そうでない場合はタイトル名と同様にバージョン以降を削除してプルダウンメニューから 前方一致 または 部分一致 にした方がよさげです。

ファイル名

ここはヘタにイジらない方がいいかもです。CanaryとNightlyで同じ設定を使えるようにと パスを含まない にした途端に設定が効かなくなった事がありました。

ウィンドウ情報取得でパスを含めたエミュレータ本体の実行ファイル名がセットされるので、そこからパスを削って ○○.exe だけにして パスを含まない にしたら動作しました…そういう意味だったのね?複数のバージョンをフォルダを分けて管理してる場合はそれでいけるんじゃないかと思います。

処理設定

基本的には起動時に1度行えばいい場合が多いので最初はとりあえず以下の設定にしておいて、何か問題があったらやめる方向でいいんじゃないかと思います。

1度だけ処理

ウィンドウが開かれた時 を選択。

処理するタイミング

表示された を有効に。

1度だけ処理をやめる場合

エミュレータのメニューから設定を変えたり何かを行ったタイミングでウィンドウのサイズが変わったりどこかに行っちゃったりした場合はこの設定を無効にする必要がありそうです。

そうなった場合は 1度だけ処理指定しない に変更して、処理するタイミング は全て有効化してしまうのが一番てっとり早いでしょうか。

手動でウィンドウを移動する事がある場合は 移動及びサイズの変更が終了された だけ無効にしてみるとか、エミュレータや使い方によっても変わってくると思いますので、その辺りは用途に合わせて色々と試行錯誤していただきたいと思います。

ウィンドウ処理

ようやく本題に入れるという感じですが、ウィンドウの位置とサイズの設定がここです。

位置とサイズ

次の画像はVita3Kで位置を左上に、サイズを1440 x 816(3x)に設定した例です。

ウィンドウの状態

「通常のウィンドウ」の時だけ処理する を有効に。ウィンドウを最大化したような時は適用されなくなるので、処理対象にしたい場合は無効にしておいてください。

表示位置に関してはどこに表示したいかで設定が変わってきます。

位置を変更しない
  • X:変更しない
  • Y:変更しない
位置を左上に(クライアントエリアを対象とする場合)
  • X:左端
  • Y:座標指定、30(正確には31かな?と思いますが30でも問題無いでしょう)

クライアントエリアを対象とする を有効にした場合、上端にくっつけてしまうとタイトルバーやメニューバーが画面外に出てしまうので注意しましょう。

位置を左上に(クライアントエリアを対象としない場合)
  • X:左端
  • Y:上端
位置を中央に
  • X:中央
  • Y:中央
位置を右下に
  • X:右端
  • Y:下端

私が確認した範囲では大丈夫そうでしたが、ステータスバーやフィルターバーが下にある場合は下端に値を設定してやらないと画面外に出てしまう可能性があります。そうなった場合は適当に入力してみてくださいね?

幅・高さ・クライアントエリアを対象にする

通常はウィンドウ枠やメニューバーなどを含めたサイズを設定しますが、 クライアントエリアを対象とする を有効にした場合はそれらを含めないサイズで設定出来るので私はいつもそれで設定しています。

とは言うもののエミュレータによっては含まれちゃう場合もあるんですけどね?

そうすると4:3なら1280×960だとか、16:9なら1280×720のようにわかりやすい値で設定出来るので、あとは実際に表示してみてレターボックスが出来てたらこれはメニューバーの高さも入ってるなーって事でその分を高さに追加するなりして修正する形になるかと思います。ストレッチされる場合は何となく横長だなぁーみたいな感じ?でわかるんじゃないでしょうか、たぶん。

何れにしてもその辺りは後日あらためて具体的な数値を挙げてエミュレータ毎に紹介する予定です。

あくまでも予定です…

位置のみの変更

サイズは変更せず位置だけ変更したい場合はこんな感じで。

  • X:左端
  • Y:上端
  • 幅:変更しない
  • 高さ:変更しない
  • クライアントエリアを対象とする:無効

設定した内容の追加

設定が済んだら入力内容をひと通り確認して一番下の 追加 をクリックします。

次のポップアップが表示されたら OK で終了です。

イベントが追加出来たら実際に設定したエミュレータを起動してみましょう。思い通りの結果になりましたか?いや、全然変わらないんだけど…という場合はもう一度設定を見直すか、次の注意点を確認してみてください。

ちなみにSwindomは × で閉じてもタスクバーに残ります、念の為。

Swindom使用時の注意点など

思った通りに動作しない!しにくい!という時は次の点を確認してみましょう。

  • Swindomが起動しているか
    当然と言えば当然ですがSwindomが常駐していないと機能しません
  • イベントの処理状態が有効になっているか
    登録したイベントはチェックボックスで個別に有効/無効を切り替えられます
  • イベントの設定にチェックが入っているか
    個々の設定ではなくイベント全体の有効/無効も切り替えられます

エミュレータ毎の設定について

各イベントの前にチェックが入っていると有効、入っていないと無効になるので、1つのエミュレータに対して複数の設定を作成しておいてプレイするゲームや状況によってサイズを切り替える事も可能です。

イベントにホットキーを割り当ててそれで制御する事も可能みたいですよ?

あと、Swindomの設定に ウィンドウ処理を複数登録 というオプションがあるんですが、使い方がよくわからないので私は使用していません。ホントはこれを使えば設定がスッキリする可能性があるかもしれませんけどね?

ぶっちゃけこのアプリをそれほど使いこなしてるとは言い難いので、まだよくわかってない部分も多々あるかと思いますが、とりあえず自分のやりたい事は出来ているのでいい事にしてください。

Swindomを活用しよう

当エントリーではSwindomの導入から使い方までざっくりと紹介してみましたがどうでしょう。ウィンドウサイズは変更可能でも倍率指定でしか出来ないエミュに利用するのもありだと思います。

この後、いくつかエミュレータ用の設定を個別に紹介していく予定ですので、その際はあらためて当エントリーと併せて試していただければ幸いです。