Forum Discussion

seanthegeek's avatar
seanthegeek
Occasional Reader
Jul 20, 2026

Solution for PWAs not appearing as separate apps on Linux taskbars

Hi everyone,

I recently Installed Microsoft Edge stable on Kubuntu Linux, and I ran into some problems using Progressive Web Applications (PWAs).

  • Launch one Edge PWA (say, Microsoft Teams). It appears normally.
  • Launch a second PWA (say, Microsoft Outlook). Both windows — and every PWA you launch afterward — collapse into a single taskbar group under the first PWA’s icon, identified as msedge.
  • Pinned PWA launchers never show as running. Pinning a running PWA window produces a generic page icon that launches the bare Edge browser when clicked.
  • Launching a PWA from the application menu briefly shows the launcher’s startup placeholder in the taskbar, which then disappears and is replaced by a separate, unassociated entry.

This isn’t KDE-specific. GNOME users have also reported issues. After some troubleshooting with Claude, the issues were traced to a mismatch between how the PWAs are identified in the .desktop PWA launchers created by Edge and the app ids reported to Wayland, starting in September 2025, when Wayland was used by default.

 

IdentifierValueExample (Microsoft Outlook)
Window app_id (native Wayland)msedge-_<appid>-Defaultmsedge-_lkkahpbimdkjdjjiijflmhaeameegbcm-Default
Desktop entry filenamemsedge-<appid>-Defaultmsedge-lkkahpbimdkjdjjiijflmhaeameegbcm-Default
StartupWMClass= in that filecrx__<appid>crx__lkkahpbimdkjdjjiijflmhaeameegbcm

 

So the solution is StartupWMClass in the .desktop launcher for the PWA to the Wayland app_id. I have a simple Bash script that will do this for all currently installed PWAs as a workaround, but the automod removed that post the last time I tried to post it. 

The suggested fix for Microsoft

This should be a small change to Edge’s desktop-entry generation on Linux: write the Wayland app_id (msedge-_<appid>-<profile>) into StartupWMClass=, or better, make the window app_id match the desktop entry basename per the freedesktop convention. No compositor-side changes are needed — the verified workaround above demonstrates that.

I’ve reported this through Edge’s in-browser feedback tool (Alt+Shift+I) with the full diagnosis. If you’re affected, sending your own feedback referencing the same details is the best way to get it prioritized — the in-browser channel is what reaches the Edge team’s triage.

No RepliesBe the first to reply