Summary: | Setting the tray icons of some Electron apps, like Discord, to "always hidden" or any setting applies to ALL Electron apps' tray icons, not just the one | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Alexander Sanderson <1gsiqkbz> |
Component: | System Tray widget | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | 4wy78uwh, accounts, bkanuka, catlolhvh, dehe_tian, kde, linx.system.adm, lune.twiddle622, materka, michelklaasen0, nate, nicolas.fella, striky88, vse.stopchanskyi, wiktorj |
Priority: | HI | ||
Version First Reported In: | 6.1.5 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Showcase (icons)
Showcase (settings) |
Description
Alexander Sanderson
2023-06-09 17:24:43 UTC
Are both apps distro-packaged apps, or both Flatpak or Snap, or both installed from different packaging systems? Tl;DR Electron bad Both register their StatusNotifierItem with Id "chrome_status_icon_1". Plasma uses the Id to store which ones are hidden, so changing one will affect both Is there some alternative metadata we can take into account in this kind of ambiguous case? >Is there some alternative metadata we can take into account in this kind of ambiguous case?
You do have the host dbus address, from that we can query the PID, from that we can get anything we normally get from a PID.
We would have to hardcode the case of getting "chrome_status_icon_1" to know when to look for alternative metadata, so it's extremely hacky.
As a non-hack, patch chrome?
Fixing chrome would be ideal, yeah. But in principle a collision could happen with other apps too, so I don't think we would necessarily have to hardcode a check for "chrome_status_icon_1". Instead, check if there are any non-unique Id values, and for those, apply the disambiguating factor. >Instead, check if there are any non-unique Id values, and for those, apply the disambiguating factor.
I don't see how that can work.
I run discord, I save a setting, I close discord.
I then run electron.
From a Plasma POV have I just opened electron or have I opened chrome again?
* opened Discord again Oh, I see what you mean. Yeah. This is a bug in Electron or Chrome right? The indicator Id should be set to something related to the name of the app rather than blanket `chrome_status_icon_1` for all apps. Some time ago (~7 years) there was a fix submitted to Electron to set the tray icon id to the app name: https://github.com/electron/electron/pull/6145/files Obviously the APIs used here are long out of date, but this possibly confirms that this should be handled in Electron (?) Note that can't find anything in the electron docs for manually setting tray icon id, but if there was a way of setting this from the electron app, then this could possibly be fixed in each individual app by explicitly setting an id. *** Bug 492846 has been marked as a duplicate of this bug. *** Created attachment 173690 [details]
Showcase (icons)
Created attachment 173691 [details]
Showcase (settings)
Signal - show if needed
Teams - always show
Discord - always hide
Pls fix <3 *** Bug 468319 has been marked as a duplicate of this bug. *** *** Bug 494526 has been marked as a duplicate of this bug. *** *** Bug 498662 has been marked as a duplicate of this bug. *** *** Bug 500238 has been marked as a duplicate of this bug. *** *** Bug 503447 has been marked as a duplicate of this bug. *** *** Bug 507676 has been marked as a duplicate of this bug. *** |