Bug 389990

Summary: Some icons are badly rendered on system tray
Product: [Plasma] plasmashell Reporter: Frank Souza <franksouza183>
Component: XembedSNIProxyAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: bugseforuns, kde, kde, kode54, materka
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Frank Souza 2018-02-07 07:27:47 UTC
Sorry if I missed the related product.

I already noticed this in earlier versions of KDE. There is a certain loss of quality in some icons when rendered on system tray regardless its size, as you can see here: https://i.imgur.com/Zhm8H3p.png. Look's like some kind of antialising or scaling is being applied. That is the icon of Simple Screen Recorder clearly modified just for tests. In this example, the graphic is rendered with 22 x 22px, the icon has exactly the same dimensions and also, as you can see, has only squares, so no antialiasing should be visible.

Sorry for the bad english
Comment 1 David Edmundson 2018-02-07 12:08:15 UTC
And that icon is using xemded?

You can easily find out by running killall xembedsniproxy and see if the icon vanishes.

If so, please file a bug with that application to use a modern supported fdo  system tray protocol: statusnotifiericons
Comment 2 Frank Souza 2018-02-07 18:09:13 UTC
Yes, this one uses xembed, but I do not think a proper solution ask all developers for these programs (including some abandoned but still heavily used). Why not fill out a bug report for the xembed team and make them render things as they should? These icons are displayed correctly in other environments, such as xfce, cinamon, gnome-shell.
Comment 3 David Edmundson 2018-02-07 18:51:25 UTC
>Why not fill out a bug report for the xembed team and make them render things as they should?

You have, that team is me. I didn't say I would close this.

However, please file a bug with that application to use a modern supported fdo  system tray protocol: statusnotifiericons
Comment 4 Frank Souza 2018-02-07 19:58:36 UTC
Thank you for your time! Bug reported: https://github.com/MaartenBaert/ssr/issues/624

From a superficial look, do you think this is a complex thing to fix? I mean, would I be correct in my suspicion of it be using re-scale unnecessarily (when the graphic already has the final rendering dimensions)?
Comment 5 Frank Souza 2018-02-08 20:25:00 UTC
As suggested in the SSR bug report, sni-qt made this work as it should, but not for programs running in root mode, such as radeon-profile.
Comment 6 David Edmundson 2018-02-17 00:09:36 UTC
Thanks for doing that. It's needed for apps moving to wayland, to a large extent even clients running in xwayland.

sni-qt is a good thing to use, yes.

> From a superficial look, do you think this is a complex thing to fix

Yes and no.

The cardinality is different.
Xembed icons are embedded into one place. That one place has one size.

SNI can (potentially) have many UIs, because of that it can be in multiple sizes at once. That doesn't work here.
Works great when you're just using an icon name.

SNIs don't get told their size because that wouldn't make sense, so xmbedsniproxy just picks something at random. Hence potential resizing.
It's not as bad as it sounds, the plasma system tray by design puts icons at known sizes, so we should be mostly in line.

We could make the default case better by special-casing having one system tray (which is what most people have) tell us the size to use.

This doesn't help in all cases, some clients already don't resize to the size I ask them to be...
Comment 7 Christopher Snowhill 2018-12-06 21:23:55 UTC
I'm experiencing a similar issue with tray icons, only killing xembedsniproxy had no effect, as all icons remained. The issue appears as icons that were added minutes after login instead of by auto started applications on login, the icons render as twice as large as they should be, and the tray only shows the center quarter of the actual icon.
Comment 8 Konrad Materka 2019-10-10 11:58:56 UTC
If application icon renders incorrectly and is still visible after killing xembedsniproxy, then it is not related to the original report. If you still encounter problems please create separate bug report.

Other problems are a duplicate of 366047.

*** This bug has been marked as a duplicate of bug 366047 ***