Summary: | Fallback to Breeze ignored by KIconLoader because of wrong global initialization order | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kiconthemes | Reporter: | Grósz Dániel <groszdanielpub> |
Component: | general | Assignee: | Christoph Feck <cfeck> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | ad.liu.jin, akontsevich, brunopitrus, bugseforuns, cdennett, christoph, danielbermond, david.cortes.rivera, david.decos, firew4lker, Fritz.Martin99, greg, jan.pavlicek, KDE, kde, kdelibs-bugs, kdudka, lee295012, loic.yhuel, nate, nuno, piotrekd, thesourcehim |
Priority: | NOR | ||
Version: | 6.2.0 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Grósz Dániel
2024-03-28 01:31:28 UTC
I think, as Nate said, Plasma should implicitly fallbacks to Breeze when the icon theme "inherits=" setting doesn't find an icon. This is caused by https://invent.kde.org/frameworks/kiconthemes/-/blob/master/src/kicontheme.cpp?ref_type=heads#L96 initialized after: https://invent.kde.org/frameworks/kiconthemes/-/blob/master/src/kiconloader.cpp?ref_type=heads#L1471 So the icon loader doesn't use Breeze as the ultimate fallback. Oxygen (and other themes) doesn't need to explicitly fallback to Breeze, if the above bug is fixed. *** Bug 481402 has been marked as a duplicate of this bug. *** *** Bug 483496 has been marked as a duplicate of this bug. *** *** Bug 451463 has been marked as a duplicate of this bug. *** Also note that `setBreezeFallback` doesn't handle Breeze-twilight correctly. Well, I interpreted Nate as saying that, while it might make sense to use Breeze a fallback even if it's not explicitly specified as an inherited theme, it's also desirable for every theme to explicitly specify a presumably complete theme (Breeze, Adwaita) as an inherited theme. Perhaps that would also help ensure that every icon works when using Oxygen icons in non-KDE applications running under KDE, or even in other DEs? So I thought it would make sense to have a separate report for the request to add a fallback (besides hicolor) to Oxygen from the other request to use Breeze as a fallback even if it isn't specified. But perhaps I'm not familiar with the details, so perhaps I'm wrong about this and I leave it to you to decide. Still exists in 6.0.3. (In reply to Jin Liu from comment #1) > I think, as Nate said, Plasma should implicitly fallbacks to Breeze when the > icon theme "inherits=" setting doesn't find an icon. Ideally, it should depend on whether the plasma style is dark or not, since the breeze icons are almost invisible on black backgrounds. So with Oxygen and Breeze Dark, it should fallback to breeze-dark. (In reply to Grósz Dániel from comment #7) > Well, I interpreted Nate as saying that, while it might make sense to use > Breeze a fallback even if it's not explicitly specified as an inherited > theme, it's also desirable for every theme to explicitly specify a > presumably complete theme (Breeze, Adwaita) as an inherited theme. It might not be desirable, as you probably want a 3rd-party icon theme to fallback to Breeze in KDE, and Adwaita in GNOME. I don't see how that would work with "inherits=". Have same bug in Plasma 6.1.2 openSUSE Tumbleweed. Please fix! I think it should not replace the Oxygen theme icons with the Breeze ones. For example, the Oxygen theme has icons for Bluetooth, alerts, and the media player. Therefore, it's important to keep these icons. However, in Plasma 6, instead of these icons, there are just blank pages icons or Breeze icon variant in System tray settings dialog. (In reply to Aleksey Kontsevich from comment #12) > I think it should not replace the Oxygen theme icons with the Breeze ones. > For example, the Oxygen theme has icons for Bluetooth, alerts, and the media > player. Therefore, it's important to keep these icons. However, in Plasma 6, > instead of these icons, there are just blank pages icons or Breeze icon > variant in System tray settings dialog. Some icons are named differently in Oxygen than in Breeze, though. On my machine: > $ fd bluetooth oxygen > oxygen/base/128x128/apps/preferences-system-bluetooth-inactive.png > oxygen/base/128x128/apps/preferences-system-bluetooth.png > oxygen/base/16x16/apps/preferences-system-bluetooth-inactive.png > oxygen/base/16x16/apps/preferences-system-bluetooth.png > oxygen/base/22x22/apps/preferences-system-bluetooth-inactive.png > oxygen/base/22x22/apps/preferences-system-bluetooth.png > oxygen/base/256x256/apps/preferences-system-bluetooth-inactive.png > oxygen/base/256x256/apps/preferences-system-bluetooth.png > oxygen/base/32x32/apps/preferences-system-bluetooth-inactive.png > oxygen/base/32x32/apps/preferences-system-bluetooth.png > oxygen/base/48x48/apps/preferences-system-bluetooth-inactive.png > oxygen/base/48x48/apps/preferences-system-bluetooth.png > oxygen/base/64x64/apps/preferences-system-bluetooth-inactive.png > oxygen/base/64x64/apps/preferences-system-bluetooth.png > oxygen/base/scalable/apps/hidef/preferences-system-bluetooth.svgz > oxygen/base/scalable/apps/preferences-system-bluetooth-inactive.svgz > oxygen/base/scalable/apps/preferences-system-bluetooth.svgz > $ fd bluetooth breeze > breeze/apps/16/preferences-system-bluetooth-symbolic.svg > breeze/devices/16/network-bluetooth-symbolic.svg > breeze/devices/16/network-bluetooth.svg > breeze/devices/16/network-wireless-bluetooth-symbolic.svg > breeze/devices/22/network-bluetooth-symbolic.svg > breeze/devices/22/network-bluetooth.svg > breeze/devices/22/network-wireless-bluetooth-symbolic.svg > breeze/preferences/22/preferences-system-bluetooth-activated-symbolic.svg > breeze/preferences/22/preferences-system-bluetooth-inactive-symbolic.svg > breeze/preferences/22/preferences-system-bluetooth-symbolic.svg > breeze/preferences/22/preferences-system-bluetooth.svg > breeze/preferences/32/preferences-system-bluetooth-activated-symbolic.svg > breeze/preferences/32/preferences-system-bluetooth-battery-symbolic.svg > breeze/preferences/32/preferences-system-bluetooth-inactive-symbolic.svg > breeze/preferences/32/preferences-system-bluetooth-symbolic.svg > breeze/preferences/32/preferences-system-bluetooth.svg > breeze/status/22/network-bluetooth-activated-locked-symbolic.svg > breeze/status/22/network-bluetooth-activated-locked.svg > breeze/status/22/network-bluetooth-activated-symbolic.svg > breeze/status/22/network-bluetooth-activated.svg > breeze/status/22/network-bluetooth-inactive-symbolic.svg > breeze/status/22/network-bluetooth-symbolic.svg > breeze/status/22/network-bluetooth.svg > breeze/status/22/network-wireless-bluetooth-symbolic.svg I filed a separate bug 486752 about the missing textures in the Oxygen category of Bugzilla, but it's seen no response. s/textures/icons/, I spent too much time with game modding recently. (In reply to Piotr Doroszewski from comment #13) > (In reply to Aleksey Kontsevich from comment #12) > > I think it should not replace the Oxygen theme icons with the Breeze ones. > > For example, the Oxygen theme has icons for Bluetooth, alerts, and the media > > player. Therefore, it's important to keep these icons. However, in Plasma 6, > > instead of these icons, there are just blank pages icons or Breeze icon > > variant in System tray settings dialog. > > Some icons are named differently in Oxygen than in Breeze, though. On my > machine: This is the problem!!! Is it possible rename and justify them? Is this bug so difficult to fix? How can I help? oxygen 6.1.4-1 (plasma) oxygen-icons 1:6.0.0-2 oxygen-icons-svg 1:6.0.0-2 Still the problem in 6.2 (In reply to Aleksey Kontsevich from comment #17) > Still the problem in 6.2 I have made most of these icons, the ones missing are the preferences ones thst should not be visible AFIK on the tray (In reply to pinheiro from comment #18) > (In reply to Aleksey Kontsevich from comment #17) > > Still the problem in 6.2 > > I have made most of these icons, the ones missing are the preferences ones > thst should not be visible AFIK on the tray eg..I have ....../Oxygen6/oxygen-icons/applets/22x22/network-bluetooth-symbolic.svg /Oxygen6/oxygen-icons/applets/22x22/network-bluetooth-inactive-symbolic.svg /Oxygen6/oxygen-icons/applets/22x22/network-bluetooth-activated-symbolic.svg /Oxygen6/oxygen-icons/applets/22x22/network-bluetooth-activated-locked-symbolic.svg I've just installed oxygen-icons-6.1.0 and it fixed this problem for me. No more missing icons, and my panel looks as I like it. Nevertheless, I'm not sure if the fallback issue was properly solved or Oxygen simply got some new icons that were missing, so I'm not daring to say the bug itself is fixed. No, it was fixed, on top of missing icons being included it now flashback into breeze if missing... Fallback not flashback;) (In reply to pinheiro from comment #21) > No, it was fixed, on top of missing icons being included it now flashback > into breeze if missing... When it was fixed? Until Oxygen 6.1 there were blank pages icons - no breeze substitution. Recently I made the change to the index.theme file as a reply to a different bug... Then I realized that we KDE did not made a new tar for distros to ship... And I had done some improvements in the previous months since 6.0 (In reply to pinheiro from comment #24) > Recently I made the change to the index.theme file as a reply to a different > bug... > Then I realized that we KDE did not made a new tar for distros to ship... > And I had done some improvements in the previous months since 6.0 This bug as I originally reported it is fixed if you added a fallback to Breeze to Oxygen. But after I reported it, Jin Liu wrote in Comment 2 that the proper solution would be for KDE's icon loader to fall back to Breeze even if it's not specified as a fallback theme if neither the original theme nor any specified fallback theme has an icon, and it's a bug that this currently isn't the case (this was reported earlier as Bug 451463); he also changed the report's title accordingly. In Comment 9 and Comment 10 it has even been argued that naming Breeze as a fallback theme to Oxygen may be undesirable, the automatic fallback loading would be the preferable solution if that bug was fixed. Should we reopen either this bug or Bug 451463 (which was the original report for the fallback bug, but was closed as a duplicate of this one after this one was turned into tracking that one)? No idea feal free to change back the index.theme (In reply to pinheiro from comment #26) > No idea feal free to change back the index.theme I'm not involved in the development so I don't know what's the right way to proceed, but Oxygen's fallback shouldn't be changed back at least until the automatic fallback bug is fixed. I'll reopen Bug 451463. At that time the person that fixes it please notify or fix oxygen please ;) |