Summary: | Under Wayland, XWayland web apps have incorrect icon | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Alan Pope <alan> |
Component: | Task Manager and Icons-Only Task Manager widgets | Assignee: | Eike Hein <hein> |
Status: | REPORTED --- | ||
Severity: | normal | CC: | anthony, dmorozov22, eifr0980, gobonja, jakub.krauz, kde, magnusmj, me, nate, nicolas.fella, plasma-bugs-null, postix, rikmills, sombriks, tnizametdinov |
Priority: | NOR | ||
Version First Reported In: | 5.23.4 | ||
Target Milestone: | 1.0 | ||
Platform: | Kubuntu | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=358277 | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/commit/7b94f03c0f5fec052454a1c8d6faec0aff2ce0cb | Version Fixed In: | 5.25 |
Sentry Crash Report: | |||
Attachments: |
screenshot showing incorrect icon
small video demonstrating the issue |
The problem is that on X11 we use the windowClassName to map the window to the .desktop file, which works. On Wayland we (mainly) use the applicationId for that, which only really works for native Wayland windows, not XWayland windows like Edge. What we probably need to do is expose the windowClassName for XWayland windows in the Plasma<->KWin communication and use that in the task manager https://chromium-review.googlesource.com/c/chromium/src/+/3383817 might fix that, unless Edge has a custom codepath for that *** This bug has been marked as a duplicate of bug 358277 *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1396 Git commit 7b94f03c0f5fec052454a1c8d6faec0aff2ce0cb by Nicolas Fella. Committed on 14/04/2022 at 11:14. Pushed by nicolasfella into branch 'master'. [libtaskmanager] Consider resource name for XWayland windows Like we do in an X11 session Related: bug 358277 M +1 -1 libtaskmanager/waylandtasksmodel.cpp https://invent.kde.org/plasma/plasma-workspace/commit/7b94f03c0f5fec052454a1c8d6faec0aff2ce0cb *** Bug 454600 has been marked as a duplicate of this bug. *** I'm on Plasma 5.25.5, but the issue is still there. Apps can still be at fault even with this fix; any cases you still encounter are the app not setting their icons properly. The app mentioned (Chromium) is not regular but a platform - the gate to other apps - PWAs. The correctly displayed icon of a running PWA is crucial - it allows one to distinguish the app from a regular browser tab in a desktop environment. IMHO PWAs are _crucial_ for the Linux ecosystem and KDE in particular. They open a door for applications that don't have desktop Linux implementations. Web Apps are now very advanced - they completely replace native Windows apps (say, MS Outlook PWA version in some aspects is more advanced than MS Outlook Windows app, ). Therefore, even if some issue in Chromium causes the issue, the Linux community may be even more interested in a fix than Chromium itself. Therefore, there should be collaboration, and this particular problem should be treated as a special case. I'm not sure it's related to the app, BTW - the PWA icon in the start menu and taskbar is displayed correctly. The problem is that there are no special icons displayed for a *running* app. (The app mentioned in closed as a duplicate bug - https://bugs.kde.org/show_bug.cgi?id=454600). hello, this still happens on KDE 6 on fedora 40, see attachment Created attachment 170235 [details]
small video demonstrating the issue
im not sure if it's related or another bug, but when using a pwa, for me they have different entry in the panel but task switcher treats the pwa as chrome so i need to use "ALT + ` " for switching app and "ALT + TAB" Is this not just Bug 358277? This issue just started happening for me again a few days ago (after applying updates). Fedora 41 & KDE Plasma 6.3. I first hit the issue some time last year (I think?) when I finally switched from X11 to Wayland. At that time I was able to resolve it by setting the #ozone-platform-hint to "Auto". Now it started again, and the #ozone-platform-hint setting doesn't help anymore. I double checked it was still set to "Auto", also tried changing it to "Wayland", but no joy. Whenever I start any Chromium app, it briefly shows its own icon in the tray before it changes to the default chromium icon a second later. It stays separate from the main Chromium icon initially until it gets grouped with it eventually (e.g. as soon as I launch any other app via a pinned icon). Confirmed here with chromium 137, plasma 6.4.1. Outlook and Teams PWAs have their own correct icon in their .desktop files, but are being grouped as chromium under chromium icon tray. I think the issue here is the grouping rules which should not group based only on app (process name?) but also check if the icon is the same? Forgive me if it's wrong. Will try to have a look myself but I've never had a look into KDE's code before (any pointers welcome for this) Additional info: for me, chrome is running on wayland directly, not xwayland, and the PWA starts in an existing session:
me@localhost $ chromium-browser --ozone-platform=wayland --app-id=faolnafnngnfdaknnbpnkhgohbobgegn
> Opening in existing browser session.
Any update on this? i'm building a pwa and i also get generic icon for chrome PWA desktop app. (KDE/Arch) (In reply to Anthony Ettinger from comment #18) > Any update on this? i'm building a pwa and i also get generic icon for > chrome PWA desktop app. (KDE/Arch) Here is my manifest: https://qrypt.chat/manifest.webmanifest (In reply to sombriks from comment #12) > Created attachment 170235 [details] > small video demonstrating the issue This behavior was visible on older versions of cromium based browsers if they worked in X mode under wayland (Xwayland) on Kubuntu. Also same problem also visible with Eclipse in Xwaylant mode. Looks like this issue somekind related to not updating information about windows. If You disable and reenable grouting in task manager it will put icons correctly. Starting another PWA aplication (including native Wayland mode in different browser) also fix grouping of previously opened applications. Garuda (Arch based system) has no problem with grouping of Xwayland applications. New version of Edg by defaylt works in Wayland mode now. And has completely differen issue. When You install PWA application it create msedge-*-Default.desktop file in ~/.local/share/applications/ folder. But when PWA application starts it has different class, so simple fix is rename this file to msedge-_*-Default.desktop (add "_" after msedge- prefix. |
Created attachment 145057 [details] screenshot showing incorrect icon SUMMARY "Web apps" in this context are shortcuts to websites, created as desktop files in .local/share/applications by the web browser. These are created to enable "alt-tabbing" between web sites, and having icons in the "Icons-Only Task Manager" to make access to those sites quick and easy. I'm using Microsoft Edge as the browser, and what I explained below works on X11, but not on Wayland. STEPS TO REPRODUCE 1. Install / Open Microsoft Edge 2. Visit a website that has an icon such as Tweetdeck or BBC news (site selection doesn't really matter, but needs a favicon) 3. In Edge click Kebab -> Apps -> Install this site as an app 4. Enter a description, then click "Install" button OBSERVED RESULT under WAYLAND Under wayland - not working : - A window opens, detached from the browser, with the website chosen inside it. - ALT-TAB shows the 'favicon' for the site in the switcher - The Icons-Only Task Manager does _not_ show the right icon. Instead, you see a second icon for the browser. In the attached screenshot, you'll see bottom left, that I am hovering over the second Microsoft Edge icon, which should be a Tweetdeck icon, and from the preview you can (just about) see the web content is the Tweetdeck site. EXPECTED RESULT under X11 Under X11 - working : - A window opens, detached from the browser, with the website chosen inside it. - ALT-TAB shows the 'favicon' for the site in the switcher - The Icons-Only Task Manager shows the correct icon for the additional application. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Kubuntu 21.10 + Kubuntu Backports PPA KDE Plasma Version: 5.23.4 KDE Frameworks Version: 5.89.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION