getsolus / packages

Solus Package Monorepo & Issue Tracker
62 stars 79 forks source link

yad: different icons under X11 and wayland #894

Closed sebo505 closed 9 months ago

sebo505 commented 9 months ago

Summary

yad under (GNOME) wayland seems to show a gerenic icon, and not the yad icon X11 icon: Bildschirmfoto vom 2023-11-26 13-28-50 wayland icon: Bildschirmfoto vom 2023-11-26 13-15-08

Steps to reproduce

run yad in X11 run yad in wayland compare icons

Expected result

yad should run with correct icon

Actual result

yad runs with wrong icon

Environment

Repo

Shannon (stable)

Desktop Environment

GNOME

System details

Systemdetailsbericht


Berichtdetails

Hardware Information:

Software Information:

Other comments

No response

sebo505 commented 9 months ago

And speaking of yad icons: If you run several instances of yad in GNOME, GNOME dash shows as many yad icons as yad instances are running. Is this the intended behaviour? Normally, GNOME dash shows one icon per program, regardless of the number of running instances.

ReillyBrogan commented 9 months ago

This is an upstream issue. Solus ships the upstream desktop files without any modification. The reason this is happening is that Wayland window managers match windows to their .desktop launchers by using the desktopFileName window property. This value needs to match the name of the .desktop file without the .desktop part. The yad package ships two .desktop files, yad-icon-browser.desktop and yad-settings.desktop. However, Wayland windows started by yad have the desktopFileName property of yad, which matches neither of those files hence the missing icon.

X11 has a different behavior according to the specs. Applications are matched based on the resourceClass (also called WMClass) property. This can match either the .desktop name or the .desktop file can have the StartupWMClass property to specify an additional matcher.

I'd recommend you open this issue with the upstream yad tracker. It's something they're going to need to fix, and once they do it'll benefit all distributions using yad.