Bug 435004 - Circular timeout indicator looks bad at fractional scale or when using some non-Breeze icon themes
Summary: Circular timeout indicator looks bad at fractional scale or when using some n...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Notifications (show other bugs)
Version: 5.22.4
Platform: Neon Linux
: NOR normal
Target Milestone: 1.0
Assignee: Kai Uwe Broulik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-27 06:56 UTC by Charles Dong
Modified: 2022-08-16 21:35 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.24.7


Attachments
A reproduction of the problem (168.76 KB, image/png)
2021-03-27 06:56 UTC, Charles Dong
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Charles Dong 2021-03-27 06:56:18 UTC
Created attachment 137097 [details]
A reproduction of the problem

SUMMARY
After setting scale to 150%, the close buttons of popups become bigger, which cover the countdown circles and make them hardly to be seen.
(Actually this problem has been found since Plasma 5.20, but I just remember it just now.)

STEPS TO REPRODUCE
1. Installed Plasma version >= 5.20
2. System Settings > Display and Monitor > Display Configuration > Global scale, change it to 150%
3. Try to activate a timed popup

OBSERVED RESULT
The close button covers the countdown circle.

EXPECTED RESULT
The countdown circle shows clearly.

SOFTWARE/OS VERSIONS
Windows: N/A
macOS: N/A
Linux/KDE Plasma: Linux 5.4.0-70-generic / KDE 5.80.0 / Plasma 5.21.3
(available in About System)
KDE Plasma Version: 5.21.3
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2021-03-31 16:17:30 UTC
Reproducible at 200% scale for me too. We have tried various ways to fix this, without success. The goal was to make the indicator perfectly hug the close button's circle, but this isn't really possible due to the different ways that the indicator and the icon scale, and also the fact that the icon can be different if you have an alternative icon theme. Perhaps what we should do it put the indicator on top of the icon rather than below it, so even in this case, you'll still see the whole indicator.
Comment 2 Bug Janitor Service 2021-03-31 16:31:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/759
Comment 3 Nate Graham 2021-12-21 03:12:06 UTC
That merge request was not merged. Discussion in there revealed that the current approach is fundamentally unfixable for cases like this because it was designed to be pixel-perfect at integer scale with Breeze icons. However when using fractional scaling, icons scale in a different way from how the countdown indicator scales, so the pixel-perfect representation breaks. It also breaks at any scale when using an icon theme with close icon metrics that do not exactly match those of the Breeze icon theme.

We have three options:

1. Use a hardcoded close button drawn with QtQuick primitives instead of an icon from the icon theme, which will scale the same way as the close indicator.
- Downside: close button icon becomes visually inconsistent when using a non-Breeze icon theme

2. Give up on the circular timeout indicator and use a different visual representation that doesn't try to hug an icon
- Downsides: might look worse or more visually intrusive; circular timeout indicator is pretty cool after all

3. Do nothing and accept glitches like this
- Downside: looks bad when using fractional scaling or some alternative icon themes
Comment 4 Nate Graham 2022-08-16 00:26:04 UTC
Git commit b5f903862e9383a8c7cb6087c1cdb5786c140f7b by Nate Graham, on behalf of Eugene Popov.
Committed on 16/08/2022 at 00:25.
Pushed by ngraham into branch 'master'.

applets/notifications: Fix displaying header progress indicator on different DPI

Currently, the progress indicator is normally displayed only if the DPI is a
multiple of 100; at other DPI values it's almost invisible or not visible at
all. This commit fixes that issue.
FIXED-IN: 5.24.7

M  +2    -2    applets/notifications/package/contents/ui/NotificationHeader.qml

https://invent.kde.org/plasma/plasma-workspace/commit/b5f903862e9383a8c7cb6087c1cdb5786c140f7b
Comment 5 Nate Graham 2022-08-16 00:27:13 UTC
Git commit e52bfaf9e94193a3f966c4539fc21a9f25fac3ca by Nate Graham, on behalf of Eugene Popov.
Committed on 16/08/2022 at 00:27.
Pushed by ngraham into branch 'Plasma/5.25'.

applets/notifications: Fix displaying header progress indicator on different DPI

Currently, the progress indicator is normally displayed only if the DPI is a
multiple of 100; at other DPI values it's almost invisible or not visible at
all. This commit fixes that issue.
FIXED-IN: 5.24.7


(cherry picked from commit b5f903862e9383a8c7cb6087c1cdb5786c140f7b)

M  +2    -2    applets/notifications/package/contents/ui/NotificationHeader.qml

https://invent.kde.org/plasma/plasma-workspace/commit/e52bfaf9e94193a3f966c4539fc21a9f25fac3ca
Comment 6 Nate Graham 2022-08-16 00:27:30 UTC
Git commit e462a0e3fcfbbb03dd7ebfc6ff7b29ef9403e20e by Nate Graham, on behalf of Eugene Popov.
Committed on 16/08/2022 at 00:27.
Pushed by ngraham into branch 'Plasma/5.24'.

applets/notifications: Fix displaying header progress indicator on different DPI

Currently, the progress indicator is normally displayed only if the DPI is a
multiple of 100; at other DPI values it's almost invisible or not visible at
all. This commit fixes that issue.
FIXED-IN: 5.24.7


(cherry picked from commit b5f903862e9383a8c7cb6087c1cdb5786c140f7b)

M  +2    -2    applets/notifications/package/contents/ui/NotificationHeader.qml

https://invent.kde.org/plasma/plasma-workspace/commit/e462a0e3fcfbbb03dd7ebfc6ff7b29ef9403e20e