Bug 502049 - Telegram monochrome icon broken again in KDE
Summary: Telegram monochrome icon broken again in KDE
Status: RESOLVED DUPLICATE of bug 476084
Alias: None
Product: frameworks-kiconthemes
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Christoph Feck
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-26 22:41 UTC by Christian (Fuchs)
Modified: 2025-04-15 18:05 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian (Fuchs) 2025-03-26 22:41:39 UTC
SUMMARY
The Telegram icon in systray is broken when set to Monochrome. 
This only affects KDE Plasma, other desktop environments are not affected.
Upstream bug:  https://github.com/telegramdesktop/tdesktop/issues/29102 

STEPS TO REPRODUCE
1. Have an up to date Telegram Desktop
2. Switch the configuration of the icon  to monochrome in advanced settings

OBSERVED RESULT
Icon is monochrome

EXPECTED RESULT
Icon is coloured

Operating System: Fedora Linux 41
KDE Plasma Version: 6.3.3
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.2
Kernel Version: 6.13.7-200.fc41.x86_64 (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 7700X 8-Core Processor
Memory: 30.4 GiB of RAM
Graphics Processor 1: NVIDIA GeForce RTX 4080
System Version: 1.0

ADDITIONAL INFORMATION
It seems that we use a custom breeze Telegram icon. This is not the first time that this breaks when Telegram updates. I highly suggest we just let Telegram use its own icon and don't try to apply magic to it.
Comment 1 Lastique 2025-03-27 11:44:46 UTC
I can add that monochrome Telegram icon is also broken for me in Kubuntu 24.04 with kiconthemes 5.115.0. I think the observed and expected results are swapped in the bug description. When I have monochrome icon enabled in the Telegram client settings, a colored icon is shown in the tray. Also, this bug may need to be against frameworks-kiconthemes.

Operating System: Kubuntu 24.04
KDE Plasma Version: 5.27.12
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13
Kernel Version: 6.11.0-1011-lowlatency (64-bit)
Graphics Platform: X11
Processors: 16 × 12th Gen Intel® Core™ i7-12700K
Memory: 31.1 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2
Manufacturer: ASUS
Comment 2 Christian (Fuchs) 2025-03-27 12:19:56 UTC
It might also be due to the recent change with icons that have -symbolic in their name, since the new Telegram icons now do, see

https://github.com/telegramdesktop/tdesktop/commit/31cb2f19996e543ee4a756ba035421bbaf309d6d

In either case and unrelated to the cause, I recommend we just use whatever Telegram does and don't apply any magic or custom breeze icons to it, so we don't have something that might break again in a future Telegram update
Comment 3 Aleksey Kontsevich 2025-03-27 14:26:31 UTC
Telegram now has monochrome icon checkbox in the settings. If it is switched on - icon is shown in the systray, off - disappears.

Bug in telegram:
https://github.com/telegramdesktop/tdesktop/issues/29131
Comment 4 Nate Graham 2025-03-27 16:31:46 UTC
If Telegram 5.12.3 works, and 5.12.4 does not, is there any reason to believe that this isn't in fact a Telegram bug? FWIW I can reproduce that everything works fine for me with 5.12.3 and everything KDE from git master, so it really seems like as Telegram change broke this.

https://invent.kde.org/frameworks/kiconthemes/-/commit/13181b03eac3c85f0649d5399d8c3037c388928c was committed three years ago, and there are other changes since then as well.
Comment 5 Lastique 2025-03-27 17:29:44 UTC
(In reply to Nate Graham from comment #4)
> If Telegram 5.12.3 works, and 5.12.4 does not, is there any reason to
> believe that this isn't in fact a Telegram bug? FWIW I can reproduce that
> everything works fine for me with 5.12.3 and everything KDE from git master,
> so it really seems like as Telegram change broke this.

Please, read the discussion in the linked Telegram bug.

https://github.com/telegramdesktop/tdesktop/issues/29102

Telegram developers explicitly attribute the problem to KDE behavior that is different from other DEs and consider it a KDE bug.

I'm going to reopen this until it is either fixed or everyone agree that the problem is not in KDE.
Comment 6 Christian (Fuchs) 2025-03-27 17:51:02 UTC
According to a Telegram developer (see https://github.com/telegramdesktop/tdesktop/issues/29102#issuecomment-2758938039 for details) the issue is indeed on the KDE end. (Note: it's entirely unrelated to the recent changes in plasma to prefer symbolic tray icons, the problem can be reproduced even in plasma 5) 

Apparently the source of the issue on our end is https://invent.kde.org/frameworks/kiconthemes/-/commit/13181b03eac3c85f0649d5399d8c3037c388928c, so indeed probably the bug component should be changed to kiconthemes in frameworks. I just did that, let's hope it stays open and is investigated a bit longer over there.
Comment 7 Lastique 2025-03-29 14:44:23 UTC
I've already mentioned this in the Telegram bug, but I'll duplicate here. The colored icon that is shown instead of the monochrome one does not indicate that there are unread messages. That is, the user has no way to know he has unread messages. This severely impacts usability of the Telegram client.
Comment 8 Lastique 2025-03-29 15:44:17 UTC
I managed to work around this on my Kubuntu 24.04. In /usr/share/icons/breeze/status/symbolic, create symlinks:

- org.telegram.desktop-symbolic.svg -> ../22/telegram-panel.svg
- org.telegram.desktop-mute-symbolic.svg -> ../22/telegram-mute-panel.svg
- org.telegram.desktop-attention-symbolic.svg -> ../22/telegram-attention-panel.svg

And similar symlinks in /usr/share/icons/breeze-dark/status/symbolic. If you have other icon themes that override Telegram icons, you may need to also add similar symlinks there.

After that, change your icon theme to something else, Apply, then back and Apply. This will regenerate the local icon cache. After doing this I can see the monochrome Telegram icon in the system tray that I used to have with 5.12.3.

Note: This will probably break when the affected icon themes update to add support for the new Telegram icon names. Be sure to remember to remove these symlinks if that happens.
Comment 9 Nate Graham 2025-03-31 16:35:28 UTC
So basically, Telegram changed the icon names it's asking for, and it also bundled new renamed icons, but the Breeze icon theme hasn't been updated accordingly yet, so when Telegram asks for an icon with the new name, Breeze doesn't have it and provides a fallback icon with the wrong appearance? Do I have that right?
Comment 10 Lastique 2025-03-31 16:57:04 UTC
(In reply to Nate Graham from comment #9)
> So basically, Telegram changed the icon names it's asking for, and it also
> bundled new renamed icons, but the Breeze icon theme hasn't been updated
> accordingly yet, so when Telegram asks for an icon with the new name, Breeze
> doesn't have it and provides a fallback icon with the wrong appearance? Do I
> have that right?

Yes, that's how I understand it as well.

The suggestion though is not just update the icon theme with the new icon names but fix the icon selection algorithm, so that when the theme doesn't have a matching icon, the icon provided by the application is chosen.
Comment 11 Ilya Fedin 2025-03-31 17:01:59 UTC
Yeah, just renaming the icons in Breeze won't fix it for other icon themes and will regress as soon as another icon is added or if something changes and the need to rename the icons appears again.

The current fallback algorithm means that if an icon theme provides application icon but applications has more icons than just it, all applications' icons will appear as the application icon, since in today's sandboxed world all icons have to be prefixed with application ID.
Comment 12 Nate Graham 2025-04-03 19:27:36 UTC
I'll look into whether we can change the algorithm and remain compliant with the icon lookup spec. It might be the right call here to simply delete the Breeze-themed icon assets for 3rd-party apps, as otherwise we'll always be playing whack-a-mole to catch up with what apps not under our control are doing.
Comment 13 Ilya Fedin 2025-04-03 20:01:19 UTC
If you want to delete icons for 3rd-party apps, I hope you first consider a way for them to support recoloring, as currently kiconthemes requires icon theme to have FollowsColorScheme=true and index.theme and hicolor doesn't do that of course. It would also be nice if there was some unification with GTK's recoloring which automatically recolors any SVG items to text color and allows to use error/warning/success classes that map to GTK theme (typically red/orange/green). GTK also doesn't require to use fill=currentColor (could have any value) nor having a <style> tag with CSS rules which makes it way simpler to make a recolorable icon. GTK recolors any icons whose name end with -symbolic, in any theme.
Comment 14 Ilya Fedin 2025-04-03 20:02:07 UTC
*FollowsColorScheme=true in index.theme
Comment 15 Nate Graham 2025-04-04 12:48:34 UTC
Git commit ca3edf98d1444b9988e0bf6b57fb5433a7347199 by Nate Graham, on behalf of Rocket Aaron.
Committed on 04/04/2025 at 12:48.
Pushed by ngraham into branch 'master'.

Add symbolic links for telegram-desktop new icon names

Telegram Desktop changed their tray icon name since 5.12.4[^1], from
`telegram{,-attention,-mute}-panel`
to
`org.telegram.desktop{,{,-attention,-mute}-symbolic}`.

There is a `org.telegram.desktop` icon in Breeze Icons for colorful
application icon, so all the tray icons just fell back to that one.

This commit adds symlinks for all the new icon names.



[^1]: https://github.com/telegramdesktop/tdesktop/commit/99a1c98ae07df9d383f120cdd26ddb2a31ad8a07

A  +1    -0    icons/status/22/org.telegram.desktop-attention-symbolic.svg
A  +1    -0    icons/status/22/org.telegram.desktop-attention.svg
A  +1    -0    icons/status/22/org.telegram.desktop-mute-symbolic.svg
A  +1    -0    icons/status/22/org.telegram.desktop-mute.svg
A  +1    -0    icons/status/22/org.telegram.desktop-symbolic.svg
A  +1    -0    icons/status/22/org.telegram.desktop.svg

https://invent.kde.org/frameworks/breeze-icons/-/commit/ca3edf98d1444b9988e0bf6b57fb5433a7347199
Comment 16 Nate Graham 2025-04-04 12:53:10 UTC
I'm having trouble envisioning a change to the icon selection algorithm that makes sense at a global level here.

Right now org.app.desktop-status falling back to org.app.desktop is pretty much intentional and expected. Clearly it produces a bad result here, but if we changes the algorithm to instead first try falling back to org.app.desktop-status in hicolor (i.e. the icons shipped by the app itself) it could have a lot of visual fallout and result in icons with mismatched styles appearing everywhere. Some people would prefer this, but some people wouldn't.

Regardless, the request is already tracked in Bug 476084 so I'm marking this as a duplicate of it.

*** This bug has been marked as a duplicate of bug 476084 ***
Comment 17 Lastique 2025-04-04 13:20:21 UTC
Will the icon symlinks be backported to KDE 5? KDE 5 is in Kubuntu 24.04, which will be supported until 2029, so it would be very desirable to have this fix there.
Comment 18 Nate Graham 2025-04-04 13:55:52 UTC
The symlink change went into Breeze icons, which is a framework, not part of Plasma, and there are no LTS/KF5 branches. So no, on our side, the change will not be backported. This will have to be up to those still shipping old versions of our software.
Comment 19 Ilya Fedin 2025-04-04 16:20:09 UTC
Still not fixed for the snap version, see https://github.com/telegramdesktop/tdesktop/releases/tag/v5.12.4
Comment 20 Nate Graham 2025-04-04 16:31:06 UTC
That's likely a separate issue; probably the snap runtime (or whatever it's called) doesn't have the new icons in it yet.

*** This bug has been marked as a duplicate of bug 476084 ***
Comment 21 Ilya Fedin 2025-04-04 16:33:22 UTC
See the link, snap icons have different prefix since snap package have their own app ids, more symlinks needed
Comment 22 Nate Graham 2025-04-04 16:45:18 UTC
Ultimately the issue here really is just Bug 476084, so please keep it at that.

Any changes we make here are simply workarounds for it. I'll make some more compatibility symlinks though.

*** This bug has been marked as a duplicate of bug 476084 ***
Comment 23 Nate Graham 2025-04-04 17:46:35 UTC
Git commit a1b2765d25a0c675125636b6e380869821cbcbd7 by Nate Graham.
Committed on 04/04/2025 at 17:44.
Pushed by ngraham into branch 'master'.

Add symlinks for new Telegram icons for the Snap too

A  +1    -0    icons/status/22/snap.telegram.desktop-attention-symbolic.svg
A  +1    -0    icons/status/22/snap.telegram.desktop-attention.svg
A  +1    -0    icons/status/22/snap.telegram.desktop-mute-symbolic.svg
A  +1    -0    icons/status/22/snap.telegram.desktop-mute.svg
A  +1    -0    icons/status/22/snap.telegram.desktop-symbolic.svg
A  +1    -0    icons/status/22/snap.telegram.desktop.svg

https://invent.kde.org/frameworks/breeze-icons/-/commit/a1b2765d25a0c675125636b6e380869821cbcbd7
Comment 24 Ilya Fedin 2025-04-04 18:15:00 UTC
Nate, you added snap.telegram-desktop{,{,-attention,-mute}-symbolic} while the icon names are snap.telegram-desktop.{,{,-attention,-mute}-symbolic}. The changelog even says to notice the dot. Snap doesn't support `-` as the separator between app id and the rest of name unlike flatpak.
Comment 25 Ilya Fedin 2025-04-04 18:16:08 UTC
i.e. they should be
icons/status/22/snap.telegram.desktop.-attention-symbolic.svg
icons/status/22/snap.telegram.desktop.-attention.svg
icons/status/22/snap.telegram.desktop.-mute-symbolic.svg
icons/status/22/snap.telegram.desktop.-mute.svg
icons/status/22/snap.telegram.desktop.-symbolic.svg
icons/status/22/snap.telegram.desktop..svg

(two dots before svg in the last icon isn't a typo, too)
Comment 26 Nate Graham 2025-04-04 18:41:35 UTC
Gross, how awful.
Comment 27 Nate Graham 2025-04-04 18:45:19 UTC
Git commit 2c956e897654e03dc5bae6d8f28d47837b853e36 by Nate Graham.
Committed on 04/04/2025 at 18:44.
Pushed by ngraham into branch 'master'.

Correct names of new Snap symlinks for Telegram's tray icons

Apparently Snap needs a dot after ".desktop" no matter what.

Amends a1b2765d25a0c675125636b6e380869821cbcbd7

R  +0    -0    icons/status/22/snap.telegram.desktop.-attention-symbolic.svg [from: icons/status/22/snap.telegram.desktop-attention-symbolic.svg - 100% similarity]
R  +0    -0    icons/status/22/snap.telegram.desktop.-attention.svg [from: icons/status/22/snap.telegram.desktop-attention.svg - 100% similarity]
R  +0    -0    icons/status/22/snap.telegram.desktop.-mute-symbolic.svg [from: icons/status/22/snap.telegram.desktop-mute-symbolic.svg - 100% similarity]
R  +0    -0    icons/status/22/snap.telegram.desktop.-mute.svg [from: icons/status/22/snap.telegram.desktop-mute.svg - 100% similarity]
R  +0    -0    icons/status/22/snap.telegram.desktop.-symbolic.svg [from: icons/status/22/snap.telegram.desktop-symbolic.svg - 100% similarity]
R  +0    -0    icons/status/22/snap.telegram.desktop..svg [from: icons/status/22/snap.telegram.desktop.svg - 100% similarity]

https://invent.kde.org/frameworks/breeze-icons/-/commit/2c956e897654e03dc5bae6d8f28d47837b853e36
Comment 28 Joseph Crowell 2025-04-05 03:52:44 UTC
The only thing that's really necessary is matching what all other DEs do, except LXDE of course. It copies whatever KDE does so has the same problem. No other desktop environments have this problem. I think someone did a pull request that makes KDE match what Gnome (and subsequently all other desktop environments) do.
Comment 29 Ilya Fedin 2025-04-05 05:13:09 UTC
LXQt does like Qt and GTK (not KDE) since 2017: https://github.com/lxqt/libqtxdg/pull/116
Comment 30 Gravemind2015 2025-04-13 09:52:21 UTC
Sorry if this is hijacking this current thread (dunno if this actually needs a separate bug report), but wanted to inform about a potential regression with any applied workarounds. I just updated my fedora 41 KDE, got KDE frameworks 6.13.0 and now the telegram app icon (in kickoff/panel/Menu editor) is symbolic. The actual system tray icon did get changed back to symbolic (it was coloured TG icon before update).

I got curious and tried changing the icon via Menu editor, the default selected one is org.telegram... (name cuts off), and while in 'select icon' window shows the icon in colour (small and a bit dull, maybe meant for systray?), selecting it shows the preview as symbolic and when applied, icons in kickoff and panel stay symbolic. There is another icon called 'Telegram', that looks more appropriate and works as expected. Lastly, that telegram option 'use monochrome icon' doesn't do anything, if it ever worked before (never tested).

Operating System: Fedora Linux 41
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Kernel Version: 6.13.10-200.fc41.x86_64 (64-bit)
Telegram version: 5.13 (flatpak)
Comment 31 Aleksey Kontsevich 2025-04-13 10:29:20 UTC
(In reply to Gravemind2015 from comment #30)
> Sorry if this is hijacking this current thread (dunno if this actually needs
> a separate bug report), but wanted to inform about a potential regression
> with any applied workarounds. I just updated my fedora 41 KDE, got KDE
> frameworks 6.13.0 and now the telegram app icon (in kickoff/panel/Menu
> editor) is symbolic. The actual system tray icon did get changed back to
> symbolic (it was coloured TG icon before update).

Guys, I do not want symbolic icons for Telegram!!! It was colorful for me, I installed snap version especially for that! Your tendency to make everything symbolic without asking users is boring!!!
Comment 32 Lastique 2025-04-13 10:46:21 UTC
I actually like the monochrome Telegram tray icon that is shipped with Breeze (is that what you call "symbolic"?), and I always use it. And before this issue, it was enabled by the "Use monochrome icon" option in Telegram settings, i.e. it was an opt-in, as intended.

I realize that replacing icons in the icon theme is what led to this issue in the first place, but I just wanted to admit that the looks of the customized icons are just better for some people.
Comment 33 Bug Janitor Service 2025-04-14 18:51:30 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/breeze-icons/-/merge_requests/462
Comment 34 Leandro Guedes 2025-04-14 19:37:37 UTC
Git commit fee5f10ccef57929ebd68e3bc9530a024e72b518 by Leandro Guedes.
Committed on 14/04/2025 at 17:42.
Pushed by ngraham into branch 'master'.

Remove Telegram icons that shouldn't have been added

D  +0    -1    icons/status/22/org.telegram.desktop-attention.svg
D  +0    -1    icons/status/22/org.telegram.desktop-mute.svg
D  +0    -1    icons/status/22/org.telegram.desktop.svg

https://invent.kde.org/frameworks/breeze-icons/-/commit/fee5f10ccef57929ebd68e3bc9530a024e72b518
Comment 35 Nate Graham 2025-04-15 18:05:26 UTC
Git commit 08e0a66e81257ce62fdf9793c4cb4b95c383af4f by Nate Graham.
Committed on 15/04/2025 at 18:04.
Pushed by ngraham into branch 'fix-the-telegram-snap-icons-too'.

Fix unintended Telegram Snap icons too

M  +1    -1    icons/status/22/snap.telegram.desktop.-attention-symbolic.svg
D  +0    -1    icons/status/22/snap.telegram.desktop.-attention.svg
M  +1    -1    icons/status/22/snap.telegram.desktop.-mute-symbolic.svg
D  +0    -1    icons/status/22/snap.telegram.desktop.-mute.svg
M  +1    -1    icons/status/22/snap.telegram.desktop.-symbolic.svg
D  +0    -1    icons/status/22/snap.telegram.desktop..svg

https://invent.kde.org/frameworks/breeze-icons/-/commit/08e0a66e81257ce62fdf9793c4cb4b95c383af4f
Comment 36 Bug Janitor Service 2025-04-15 18:05:43 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/breeze-icons/-/merge_requests/463