固定アプリケーションがすでに実行されている場合に新しいインスタンスを起動できないようにするにはどうすればよいですか?

固定アプリケーションがすでに実行されている場合に新しいインスタンスを起動できないようにするにはどうすればよいですか?

Pythonで書かれたプログラムがあり、デスクトップファイルを介してGnomeに追加されました。 Gnomeで固定アイコンをクリックして実行すると、タスクバーのアイコンがコピーされ、新しいインスタンスが開きます。他の固定アプリはその下に線を描きます。別のアプリケーション(ChromeやSublime Textなど)をクリックしてもアプリケーションがすでに実行されている場合、gnomeは新しいインスタンスを起動するのではなくそのウィンドウに移動します。

この動作は私のアプリケーションで処理する必要がありますか、それともGnomeが代わりに処理できるのですか?違いがある場合は、bashランチャーを持つPyQt4アプリケーションです。

編集 - Ubuntu - Gnome 16.10とGnome 3.20.4を実行していることを忘れました。

ベストアンサー1

私はこれを働かせました。

デスクトップ項目に「StartupWMClass」キーを追加する必要があります。

StartupWMClass:指定された場合、アプリケーションはその文字列をWMクラスまたはWM名ヒントとして使用して1つ以上のウィンドウをマッピングすることが知られています。

プロトコル情報ここ詳細がありますここ

xpropをインストールして実行したら、タイトルバーをクリックしてアプリケーションのクラスを確認できます。

おすすめ記事