2

Following the lessons learned here, I tried to add an icon to SoulSeek, the file sharing network. The problem is, different from RStudio which has a png file in one of its directories, SoulSeek runs from a single file.

However, when running from a link (created with the Make Link option in the context menu of the binary file), the running app has its default icon (a blue ghostly figure, visible in the launcher bar and when I press Alt+Tab).

On the other hand, the soulseek.desktop file I've created in /usr/share/applications/, though launching the app from the Super key (it didn't before), launches it with no icon at all.

These are the contents of soulseek.desktop:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=SoulSeek
Comment=Free file sharing network
Exec=/home/rodrigo/Downloads/SoulseekQt-2016-1-17-64bit
Icon=/home/rodrigo/Downloads/SoulseekQt-2016-1-17-64bit
Terminal=false

If I remove the Icon key, I get the default binary icon. How to include the "blue ghost" default app icon, that seems encoded inside the binary?

Rodrigo
  • 1,732
  • 2
  • 16
  • 29
  • @don_crissti Good option, but an universal solution (valid for other software) would be preferable. – Rodrigo Jan 24 '17 at 20:03
  • Yeah @don_crissti. But thinking the other way around, if Debian already know how to extract the icon from the binary (after all it's shown in the Alt+Tab), why not use this knowledge to show it in the launcher too? – Rodrigo Jan 25 '17 at 00:50

1 Answers1

2

The Icon= key should contains the path to the .png file or just the name of the file (without the .png) if the file is installed in /usr/share/icons/hicolor/<file size>.

Not the path to the executable…

See: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html

Edit: If the icons are bundled in the QT executable, you indeed will have to extract the icons before. Apparently it's possible to do so with https://github.com/gcochard/png-extractor, not tested though.

Bigon
  • 2,062
  • 16
  • 19
  • Read again: "different from RStudio which has a png file in one of its directories, SoulSeek runs from a single file" – Rodrigo Jan 21 '17 at 11:27
  • I read it and what you are trying to do is not possible TTBOMK. I've added the link to the xdg desktop file specification in my reply – Bigon Jan 21 '17 at 11:31
  • Thanks for the interesting link. In `A. Example Desktop Entry File`, I see both `Exec` and `Icon` keys pointing to the same executable, though (unless there's a png file with the same name in the expected path). – Rodrigo Jan 21 '17 at 11:42
  • Yes the confusion comes from that, it's quite common that the executable and the icon have the same name – Bigon Jan 21 '17 at 11:44
  • So if that's actually not possible (I'll wait 7 days -- the bounty expiration time), the solution will be to somehow extract the png icon from inside the executable. – Rodrigo Jan 21 '17 at 11:47
  • I've updated my comment with a (untested) solution to extract the icon from the executable – Bigon Jan 21 '17 at 22:01
  • This looks like a javascript library. Any idea on how to use it? – Rodrigo Jan 28 '17 at 15:48
  • It looks like a Node.JS application, so you can run it with `nodejs app.js`. – Stephen Kitt Jan 31 '17 at 08:29