1

引数に応じて異なるモードで起動する python (pygtk) アプリケーションがあります。各アプリケーション モード用の bash スクリプトがあります。

カドロ-reader.sh:

#!/bin/sh
/usr/bin/kadro reader

カドロ-gmail.sh:

#!/bin/sh
/usr/bin/kadro gmail

各モード用の .desktop ランチャーもあります。

[Desktop Entry]
Name=Kadro Google Reader
Icon=kadro-reader
Exec=kadro-reader.sh
Categories=Network;
Type=Application

すべての .desktop ランチャーは、異なるアイコンを定義します。ただし、Unity は常にすべてのアプリケーション モードで同じアイコンを表示します。

Kupfer に関する同様の問題: 1 つのモードを開始した後、Kupfer は他のすべてのモードも実行されていると認識します。

これは Unity (BAMF Application Matching Framework) を継ぎ合わせており、Kupfer は実行中のプロセスを適切な .desktop ランチャーに関連付けることができません。

私のpythonプロセスが使用したいアイコンをdebianに明確にする正しい方法はありますか?

4

2 に答える 2

1

( askubuntu.comに私の回答を貼り付けます)

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

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

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

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

于 2011-12-21T12:19:24.843 に答える
0

私は次のように問題を解決しました:

汎用 Kadro アプリケーションを Python ライブラリとしてインストールしました。モードごとに独自の Python スクリプトを作成します。このスクリプトは、適切なパラメーターを指定して汎用 Kadro ライブラリを呼び出すだけです。

Unity と Kupfer が正しいアイコンを表示するようになりました。

于 2012-03-29T10:39:38.180 に答える