Bug 447845

Summary: Under Wayland, XWayland web apps have incorrect icon
Product: [Plasma] plasmashell Reporter: Alan Pope <alan>
Component: Task Manager and Icons-Only Task Manager widgetsAssignee: 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: Version Fixed In: 5.25
Sentry Crash Report:
Attachments: screenshot showing incorrect icon
small video demonstrating the issue

Description Alan Pope 2022-01-02 16:39:57 UTC
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
Comment 1 Nicolas Fella 2022-01-03 15:56:16 UTC
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
Comment 2 Nicolas Fella 2022-01-12 16:47:41 UTC
https://chromium-review.googlesource.com/c/chromium/src/+/3383817 might fix that, unless Edge has a custom codepath for that
Comment 3 Nate Graham 2022-01-12 17:19:06 UTC

*** This bug has been marked as a duplicate of bug 358277 ***
Comment 4 Bug Janitor Service 2022-01-23 20:06:44 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1396
Comment 5 Nicolas Fella 2022-04-14 11:20:37 UTC
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
Comment 6 Nicolas Fella 2022-05-30 12:50:15 UTC
*** Bug 454600 has been marked as a duplicate of this bug. ***
Comment 7 tnizametdinov 2022-11-10 09:34:16 UTC
I'm on Plasma 5.25.5, but the issue is still there.
Comment 8 Nate Graham 2022-11-10 14:58:04 UTC
Apps can still be at fault even with this fix; any cases you still encounter are the app not setting their icons properly.
Comment 9 tnizametdinov 2022-11-11 08:17:55 UTC
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.
Comment 10 tnizametdinov 2022-11-11 08:19:47 UTC
(The app mentioned in closed as a duplicate bug - https://bugs.kde.org/show_bug.cgi?id=454600).
Comment 11 sombriks 2024-06-07 18:19:14 UTC
hello, this still happens on KDE 6 on fedora 40, see attachment
Comment 12 sombriks 2024-06-07 18:20:09 UTC
Created attachment 170235 [details]
small video demonstrating the issue
Comment 13 eifr 2024-08-20 06:23:40 UTC
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"
Comment 14 Nate Graham 2024-09-19 21:40:12 UTC
Is this not just Bug 358277?
Comment 15 Jakub 2025-02-18 09:14:29 UTC
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).
Comment 16 Richard Rondu 2025-06-30 08:50:50 UTC
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)
Comment 17 Richard Rondu 2025-06-30 18:30:43 UTC
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.
Comment 18 Anthony Ettinger 2025-09-22 03:00:51 UTC
Any update on this? i'm building a pwa and i also get generic icon for chrome PWA desktop app. (KDE/Arch)
Comment 19 Anthony Ettinger 2025-09-22 03:01:24 UTC
(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
Comment 20 Denys Morozov 2025-10-01 10:08:10 UTC
(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.