Vencord / Vesktop

Vesktop is a custom Discord App aiming to give you better performance and improve linux support
GNU General Public License v3.0
4.26k stars 189 forks source link

[Bug] Blurry icon in some locations #773

Closed Wrtox closed 1 month ago

Wrtox commented 3 months ago

Discord Account

despera_.

Operating System

Linux - EndeavourOS

Linux Only ~ Desktop Environment

KDE - Wayland

Package Type

Flatpak

What happens when the bug or crash occurs?

Blurry Icon. Not a crash, just an icon fix.

What is the expected behaviour?

Vesktop having a normal icon inside of Flatpak permissions. Screenshot_20240721_134559

How do you recreate this bug or crash?

KDE settings >> Application manager >> Flatpak Applications >> Vesktop

Debug Logs

There's nothing.

Request Agreement

Vendicated commented 3 months ago

seems to be a flatpak issue.

Top one is flatpak, bottom one is rpm

Arcitec commented 1 month ago

This fix is super easy.

The issue is that the Flatpak exports a 16x16 and 512x512 icon. And some GUIs are doing "pick any icon that's 128x128 or smaller" (for example). So it picks the 16x16 icon.

Here's the issue:

https://github.com/flathub/dev.vencord.Vesktop/blob/f02faea0594248ddf374537b0b11e145cc199062/dev.vencord.Vesktop.yml#L37-L39

It needs to be changed to export every Vesktop icon size:

    16,
    32,
    48,
    64,
    128,
    256,
    512,
    1024,
lewisakura commented 1 month ago

I was informed by a Flatpak contributor not to do this.

Just install 512px and 16px if you need it for tray. Flathub only needs 128px png or svg. It'll generate one from the 512px

@bbhtt Since you were the one who gave this review, is this still correct, and this is an issue elsewhere, or should I include the other icons?

bbhtt commented 1 month ago

I guess you can include other sizes as well if some apps need it. Or just have a svg icon.

Arcitec commented 1 month ago

@bbhtt @lewisakura Yeah when the app uses bitmap icons, you need to include all the sizes.

You can check your system to see lots of examples of that.

tree ~/.local/share/flatpak/exports/share/icons/hicolor
tree /var/lib/flatpak/exports/share/icons/hicolor

For example:

find /var/lib/flatpak/exports/share/icons/hicolor -iname "*chrome*"
/var/lib/flatpak/exports/share/icons/hicolor/128x128/apps/com.google.Chrome.png
/var/lib/flatpak/exports/share/icons/hicolor/16x16/apps/com.google.Chrome.png
/var/lib/flatpak/exports/share/icons/hicolor/24x24/apps/com.google.Chrome.png
/var/lib/flatpak/exports/share/icons/hicolor/256x256/apps/com.google.Chrome.png
/var/lib/flatpak/exports/share/icons/hicolor/32x32/apps/com.google.Chrome.png
/var/lib/flatpak/exports/share/icons/hicolor/48x48/apps/com.google.Chrome.png
/var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/com.google.Chrome.png

find /var/lib/flatpak/exports/share/icons/hicolor -iname "*podman*"          
/var/lib/flatpak/exports/share/icons/hicolor/128x128/apps/io.podman_desktop.PodmanDesktop.png
/var/lib/flatpak/exports/share/icons/hicolor/256x256/apps/io.podman_desktop.PodmanDesktop.png
/var/lib/flatpak/exports/share/icons/hicolor/32x32/apps/io.podman_desktop.PodmanDesktop.png
/var/lib/flatpak/exports/share/icons/hicolor/512x512/apps/io.podman_desktop.PodmanDesktop.png
/var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/io.podman_desktop.PodmanDesktop.png
/var/lib/flatpak/exports/share/icons/hicolor/scalable/apps/io.podman_desktop.PodmanDesktop.svg

find /var/lib/flatpak/exports/share/icons/hicolor -iname "*krita*" 
/var/lib/flatpak/exports/share/icons/hicolor/128x128/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/16x16/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/256x256/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/32x32/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/48x48/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/512x512/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/org.kde.krita.png
/var/lib/flatpak/exports/share/icons/hicolor/22x22/apps/org.kde.krita.png

find /var/lib/flatpak/exports/share/icons/hicolor -iname "*firefox*"
/var/lib/flatpak/exports/share/icons/hicolor/128x128/apps/org.mozilla.firefox.png
/var/lib/flatpak/exports/share/icons/hicolor/16x16/apps/org.mozilla.firefox.png
/var/lib/flatpak/exports/share/icons/hicolor/32x32/apps/org.mozilla.firefox.png
/var/lib/flatpak/exports/share/icons/hicolor/48x48/apps/org.mozilla.firefox.png
/var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/org.mozilla.firefox.png
/var/lib/flatpak/exports/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
Arcitec commented 1 month ago

@lewisakura Here is some code you can use:

https://github.com/flathub/com.google.Chrome/blob/815cb1abea3480676c7fd0211cc83007274b3c93/com.google.Chrome.yaml#L97-L99

Another example for reference:

https://github.com/flathub/io.podman_desktop.PodmanDesktop/blob/2f598e57e15c3ceadbd21fc511cb9dfc2b148742/io.podman_desktop.PodmanDesktop.yml#L53-L57

lewisakura commented 1 month ago

Should be fixed by https://github.com/flathub/dev.vencord.Vesktop/pull/35, please test that version of the Flatpak when it is built.

Fxzzi commented 3 weeks ago

Any reason why we cant just use an svg for the icon?