web-dev-qa-db-ja.com

プロセスと.desktopランチャー(識別)

2つの異なる方法で動作するpythonアプリケーションがあります。引数なしで起動すると、CONFIGMODEで実行され、構成GUI(pygtk)が表示されます。引数で起動すると、APPMODEで実行されます。

次に、2つのBashスクリプト(configmodeappmode)を開始します。 1つは引数付きでアプリを起動し、もう1つは引数なしで起動します。スクリプトごとに、~/.local/share/applicationsに異なるアイコンの.desktopファイルを作成しました。

しかし、appmode.desktopを起動しても、Unityランチャーはconfigmode.desktopのアイコンを表示します。

また、Kupferを使用してアプリケーションを起動します。また、configmodeがすでに実行されている場合、Kupferはappmodeがすでに実行されていると見なします。

したがって、UnityとKupferがどの.desktopファイルを使用するかをどのように識別するのでしょうか。

私の目標は、Unityランチャーでの起動に使用した.desktopファイルのアイコンを確認することです。どうすればこれを達成できますか?

2
Witek

Unityは BAMF Application Matching Framework を使用します。 Kupferについては知りません。

2
Florian Diesch

問題はデスクトップファイル自体ではなく、次のいずれかにあると思います。

  • .uiファイル:ユーザーインターフェイスファイルを使用している場合は、メインウィンドウにicon_nameプロパティを設定している可能性があります。そのような場合、.desktopファイルのアイコンは使用されていないと思います。

  • pygtk code:.uiファイルの場合と同様に、gtk.Window.set_icon_namegtk.Window.set_default_icon_nameなどを使用してメインウィンドウのアイコンを設定した可能性があります。

私のアドバイスは、アプリケーションに渡された引数に応じて、gtk.Window.set_icon_nameまたはgtk.Window.set_default_icon_nameを使用して、アプリケーションの起動時にメインウィンドウのアイコンをプログラムで設定することです。

1
jcollado