web-dev-qa-db-ja.com

Python Unityランチャーにアプリケーションにアイコンがありません

Pythonアプリケーション(pygtkとpymozembedを使用))を作成しました。これは非常に頻繁に使用します。

Unityダッシュには、アプリケーションにアイコンがあります(.desktopファイル)。しかし、起動すると、ランチャーにアイコンがありません。ただ空の穴。

ランチャーファイル:/home/witek/.local/share/applications/kadro-reader.desktop

[Desktop Entry]
Name=Google Reader
Comment=Open site with Kadro: reader -> https://www.google.com/reader/view/
Icon=/home/witek/.kadro/sites/reader/icon.png
Exec=/home/witek/.kadro/sites/reader/start.sh
Categories=Network;
Type=Application

ウィンドウの初期化のためのPythonコード:

win = gtk.Window()
win.set_title("Google Reader")
win.set_icon_from_file("/home/witek/.kadro/sites/reader/icon.png")

Unityランチャーアイコンをmy Python application?

4
Witek

.desktopファイルのアイコンが完全なパスを取るとは思わない。アイコンの名前を取り、現在のアイコンテーマでそのアイコンを検索すると思います。

そのアイコンを~/.icons/google-reader.pngおよび.desktopファイルに配置してみてください。

Icon=google-reader
3
Owais Lone

もっと良い答えを考えました。説明したソリューションは、Dash Unityパネルにアイコンアプリケーションを追加するため、/usr/share/applicationsのアプリケーション自体にアイコンを表示できません。

/usr/share/pixmaps/ディレクトリにアイコン(デスクトップエントリで宣言された名前)を追加するだけです。これは、すべてのアプリケーションがアイコンを配置するディレクトリです。これにより、Dash Unityおよびアプリケーションフォルダー内のアプリケーションにアイコンが表示されます。

現在チェックされているものが機能していることに加えて、ホームディレクトリに新しいフォルダを作成する必要があります。 /usr/share/pixmapsディレクトリを使用する場合、これは必要ありません。

1
Antonio