probonopd / go-appimage

Go implementation of AppImage tools
MIT License
771 stars 72 forks source link

appimaged-go presents damaged icons #146

Open neildarlow opened 3 years ago

neildarlow commented 3 years ago

Hi,

I have previously been running the old appimaged and just tried appimaged-go. appimaged-go seems to have an issue with application icons not rendering correctly. Two applications demonstrating the issue are:

https://sourceforge.net/projects/qjackctl/files/qjackctl/0.9.2/qjackctl-0.9.2-47.x86_64.AppImage/download https://sourceforge.net/projects/qtractor/files/qtractor/0.9.21/qtractor-0.9.21-63.x86_64.AppImage/download

Under the original appimaged the icons are shown as a nicely rendered audio jack plug (qjackctl) and old-fashioned gramophone (qtractor) in a golden metallic colour.

Under appimaged-go the qjackctl icon renders just as a black outline and the qtractor icon renders as a black silhouette of the gramophone. All colour is lost from both icons.

ATB, Neil

probonopd commented 3 years ago

Possibly the AppImage contains SVG rather than PNG icons. Please ask the AppImage author to use 256x256 pixel png icons instead.

Most likely an effect of https://github.com/srwiley/oksvg/issues/15.

neildarlow commented 3 years ago

Hi,

Looking at the Github repositories for both qjackctl and qtractor, the README.md indicates that a hicolor 32x32 .png is installed. These are for menu and panel display so isn't 256x256 a bit overkill?

Are you breaking compatibility with the old appimaged in this respect? The same AppImages display the icons correctly under that version.

ATB, Neil

probonopd commented 3 years ago

Stange. I will need to check.

neildarlow commented 3 years ago

Hi,

I consulted the author of those applications and his READMEs omitted that both PNG (32x32) and SVG (512x512) are installed. Maybe it's just a difference in icon type ordering management between appimaged and go-appimaged?

ATB, Neil

neildarlow commented 3 years ago

Hi,

Your suggestion above is correct. I grabbed some images from the applications' repositories and generated 320x320px PNG icons from them then replaced the broken images in .cache/thumbnails/normal with them and the icon display was restored as expected.

ATB, Neil

zevlee commented 1 year ago

Possibly the AppImage contains SVG rather than PNG icons. Please ask the AppImage author to use 256x256 pixel png icons instead.

Most likely an effect of srwiley/oksvg#15.

May I ask why SVG files pose an issue for the go-appimage daemon? I noticed that this issue still exists for AppImages which use SVG files for their .DirIcon.

probonopd commented 1 year ago

Parsing SVG is way harder than parsing png. So it is way more errorprone.

Examples can be seen in https://github.com/srwiley/oksvg/issues/15.