2つの異なる方法で動作するpythonアプリケーションがあります。引数なしで起動すると、CONFIGMODEで実行され、構成GUI(pygtk)が表示されます。引数で起動すると、APPMODEで実行されます。
次に、2つのBashスクリプト(configmode
とappmode
)を開始します。 1つは引数付きでアプリを起動し、もう1つは引数なしで起動します。スクリプトごとに、~/.local/share/applications
に異なるアイコンの.desktopファイルを作成しました。
しかし、appmode.desktop
を起動しても、Unityランチャーはconfigmode.desktop
のアイコンを表示します。
また、Kupfer
を使用してアプリケーションを起動します。また、configmode
がすでに実行されている場合、Kupferはappmode
がすでに実行されていると見なします。
したがって、UnityとKupferがどの.desktop
ファイルを使用するかをどのように識別するのでしょうか。
私の目標は、Unityランチャーでの起動に使用した.desktop
ファイルのアイコンを確認することです。どうすればこれを達成できますか?
Unityは BAMF Application Matching Framework を使用します。 Kupferについては知りません。
問題はデスクトップファイル自体ではなく、次のいずれかにあると思います。
.ui
ファイル:ユーザーインターフェイスファイルを使用している場合は、メインウィンドウにicon_name
プロパティを設定している可能性があります。そのような場合、.desktop
ファイルのアイコンは使用されていないと思います。
pygtk
code:.ui
ファイルの場合と同様に、gtk.Window.set_icon_name
、gtk.Window.set_default_icon_name
などを使用してメインウィンドウのアイコンを設定した可能性があります。
私のアドバイスは、アプリケーションに渡された引数に応じて、gtk.Window.set_icon_name
またはgtk.Window.set_default_icon_name
を使用して、アプリケーションの起動時にメインウィンドウのアイコンをプログラムで設定することです。