| Summary: | GTK3 spinbox negative button is an X, instead of a - | ||
|---|---|---|---|
| Product: | [Plasma] Breeze | Reporter: | Mors Mortium <morsmortium> |
| Component: | Icons | Assignee: | visual-bugs-null |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | 4wy78uwh, graham.keeth, kainz.a, kbtr.buffer098, m, nate |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| URL: | https://gitlab.gnome.org/GNOME/gtk/-/issues/7080 | ||
| See Also: |
https://invent.kde.org/frameworks/breeze-icons/-/merge_requests/388 https://bugs.kde.org/show_bug.cgi?id=493975 |
||
| Latest Commit: | https://invent.kde.org/frameworks/breeze-icons/-/commit/90cb058f3d5720d15d6c9dd9ec0a0ef14c11406a | Version Fixed/Implemented In: | GTK 3.24.44 |
| Sentry Crash Report: | |||
|
Description
Mors Mortium
2024-10-04 04:22:09 UTC
This is a bug in GTK, which uses that icon inappropriately. So when we changed it in the Breeze theme, it made spinboxes look wrong. In GTK4 they fixed this and made their spinboxes use a different icon that isn't also used for removing list items. Can you report this to GTK and ask them to backport that change to GTK 3 as well? Thanks! *** Bug 495663 has been marked as a duplicate of this bug. *** I've gone ahead and submitted a GTK patch to fix this at https://gitlab.gnome.org/GNOME/gtk/-/issues/7080. Unfortunately I still see the wrong icon (X instead of minus) with gtk3 1:3.24.48 (and plasma 6.3.1). The GTK maintainer on the linked issue indicated that this version of gtk should contain the fix (ref https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7954) Is it okay to comment on this bug or should I open a new bug? Is there any other information that would be helpful for me to provide? I debugged this further, and I think the GTK fix is working correctly; the issue is now in breeze-icons. Here is the situation: After Nate's fix in GTK, GTK looks for the following icons for the spinbox decrease button, in this order: 1. value-decrease-symbolic (explicit) 2. list-remove-symbolic (explicit) My understanding is that if it doesn't find either of those, it will eventually start looking for the non-symbolic versions of those icons, by chopping off the last term in the name: 3. value-decrease 4. list-remove I wasn't actually able to check this non-symbolic fallback behavior. It seems to fall back to some other icons first, including alternate-size versions of 1 and 2, if those are available in the theme. I am noting this because I saw it in my debugging, but I don't think it's causing an immediate issue. What is relevant is that if icon #1 is not found, it looks for icon #2 before checking for the non-symbolic versions. The reason for the issue is that breeze-icons 6.11.0 provides these three icons: - actions/16/value-decrease.svg - actions/16/list-remove.svg - actions/16/list-remove-symbolic.svg (symlinked to list-remove) There is no value-decrease-symbolic icon included. So when value-decrease-symbolic isn't found, the next icon in order is list-remove-symbolic, which is present, and therefore we get the "X" icon instead of the "-" icon. I think the best solution is to symlink value-decrease-symbolic.svg to value-decrease.svg, at least for the 16px size. Probably also worth doing for 22px; I don't know what uses that icon size but the same -symbolic discrepancy exists there. I'd be happy to submit a merge request to fix this if I my proposal seems reasonable? Git commit 90cb058f3d5720d15d6c9dd9ec0a0ef14c11406a by Graham Keeth. Committed on 01/03/2025 at 21:41. Pushed by ngraham into branch 'master'. Add -symbolic symlinks for value-decrease/increase In combination with https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7954 this gives spinboxes in GTK applications the correct "-" icon, instead of the fallback "X" icon from list-remove. See https://bugs.kde.org/show_bug.cgi?id=494086 A +1 -0 icons/actions/16/value-decrease-symbolic.svg A +1 -0 icons/actions/16/value-increase-symbolic.svg A +1 -0 icons/actions/22/value-decrease-symbolic.svg A +1 -0 icons/actions/22/value-increase-symbolic.svg https://invent.kde.org/frameworks/breeze-icons/-/commit/90cb058f3d5720d15d6c9dd9ec0a0ef14c11406a |