web-dev-qa-db-ja.com

2台目のモニターで別のウィンドウをクリックしたときにフルスクリーンゲームが最小化されないようにするにはどうすればよいですか?

ボーダレスウィンドウモードのないゲームをプレイしようとしていますが、ゲームで通常のウィンドウモードを使用したくありません。

私は2つのモニターを使用しています。1つは大きなメインモニターとして、もう1つはチャットやWikiなどを追跡するためのものとして使用しています。私がプレイするほとんどのゲームには、プレイ中にフルスクリーンゲームを一番上に保つオプション(ボーダーレスウィンドウモード)がありますが、この機能がないゲームの場合、かなりイライラする可能性があります。

2番目のモニターをクリックした場合にゲームを最大化したままにする方法はありますか?

1
Conjo

Gunixの回答にコメントするのに十分な担当者がいませんが、誰かがコンテキストを求めたので、自分で回答を書きます。

この動作は通常、ゲームがレンダリングするOpenGLコンテキストを作成するために一般的に使用されるライブラリであるSDLによって引き起こされます。 このコミット 2012年のlibSDL2に、環境変数SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSSを追加します。これは、名前が示すように、ウィンドウフォーカスを失った場合にゲームが最小化するかどうかを制御します。

この動作を停止するには、この環境変数を0に設定する必要があります。これを行うにはいくつかの方法があります。

  • ホームディレクトリのどこかにあるローカル環境ファイルを変更します。おそらく.profileまたは.xprofile; .bashrcはBashShellに設定しますが、xdmまたはその多くの代替手段の1つを介してログインしている場合は役に立たない可能性があります。これは、SDLを使用するすべてのゲームに影響し、ユーザーとして実行されます。
  • グローバル環境ファイル(通常は/etc/profileまたは/etc/environment)を変更します。ホームディレクトリ内の環境ファイルと比較すると、これは推奨される選択ではありませんが、システム上の唯一のユーザーであり、.profileへの変更は、ログアウトして再度ログインした後でも適用されないようです。 、これは2番目に試すことです。

    上記の両方のオプションについて、次の行を追加します。

    export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
    
  • これがSteamゲームの場合は、起動オプションに追加できます。

    SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0 %command%
    
  • これがSteamゲームではないが、この1つのゲームのみで変更したい場合は、ゲームのメイン実行可能ファイルと同じディレクトリにlaunch_game.shファイルを作成できます。

    #!/bin/sh
    export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
    ./SomeGame "$@"
    
3

次の行を追加します。

export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0

ファイルに/ etc/environmentそしてその後再起動します。

1
gunix

多くのゲームは、グラフィック設定で「ボーダーレスウィンドウ」、「ウィンドウボーダーレス」などに設定できます。設定後もゲームは画面全体を使用しますが、OSでは通常のウィンドウと見なされます。これにより、2番目の画面をクリックしたときにゲームが最小化されるのを防ぐことができると思います。

0
user169862