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?
.desktop
ファイルのアイコンが完全なパスを取るとは思わない。アイコンの名前を取り、現在のアイコンテーマでそのアイコンを検索すると思います。
そのアイコンを~/.icons/google-reader.png
および.desktop
ファイルに配置してみてください。
Icon=google-reader
もっと良い答えを考えました。説明したソリューションは、Dash Unityパネルにアイコンアプリケーションを追加するため、/usr/share/applications
のアプリケーション自体にアイコンを表示できません。
/usr/share/pixmaps/
ディレクトリにアイコン(デスクトップエントリで宣言された名前)を追加するだけです。これは、すべてのアプリケーションがアイコンを配置するディレクトリです。これにより、Dash Unityおよびアプリケーションフォルダー内のアプリケーションにアイコンが表示されます。
現在チェックされているものが機能していることに加えて、ホームディレクトリに新しいフォルダを作成する必要があります。 /usr/share/pixmaps
ディレクトリを使用する場合、これは必要ありません。