Bug 397632 - Analogue clock hands rendered with inconsistent sizes
Summary: Analogue clock hands rendered with inconsistent sizes
Status: CONFIRMED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_clock (show other bugs)
Version: 5.13.3
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Paul Campbell
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-19 16:11 UTC by Ken Vermette
Modified: 2020-01-15 14:59 UTC (History)
2 users (show)

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


Attachments
Clock on the desktop vs clock in Date & Time. (97.17 KB, image/jpeg)
2018-08-19 16:11 UTC, Ken Vermette
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ken Vermette 2018-08-19 16:11:04 UTC
Created attachment 114504 [details]
Clock on the desktop vs clock in Date & Time.

(Using "Aether Dark" theme in these shots)

The Analogue clock hands are rendered at inconsistent sizes. They vary slightly with size (blocking "pixel perfect" results") and desktop scaling.

The most apparent is when viewing the date-and-time settings.

Aside from a general fix, how hand scaling works is unclear so I'd also like to request a new "hint-alternate-hand-placement" hint be added for future development. This hint would have the following behavioral changes from the current system:
 - The hands will not be magically scaled, the scale of the hands will match the scale of the clock.
 - The hands will rotate according to the center-point of the bounding box, not the position of the object.
 - The hands may be an arbitrary size. The hand could, possibly, be larger than the clock face. In some situations it also means parts of the hand might even be clipped. It is up to the theme author to avoid this.
Comment 1 Nate Graham 2018-08-21 21:43:04 UTC
Whoa, I don't think that's what the clock is supposed to look like. Why is it a donut? Is this some artifact of your theme?
Comment 2 Ken Vermette 2018-08-31 10:21:40 UTC
(In reply to Nate Graham from comment #1)
> Whoa, I don't think that's what the clock is supposed to look like. Why is
> it a donut? Is this some artifact of your theme?

That's how it's meant to look. In the sample attachment the widget on the desktop is rendered correctly, but the image in the Date & Time module is broken with the radically undersized hands.

Fixing the hands would resolve the bug; but outside of that the extra points added are simply to allow for more creative and predictable analog clock design.
Comment 3 Nate Graham 2018-08-31 19:42:05 UTC
(In reply to Ken Vermette from comment #2)
> (In reply to Nate Graham from comment #1)
> > Whoa, I don't think that's what the clock is supposed to look like. Why is
> > it a donut? Is this some artifact of your theme?
> 
> That's how it's meant to look.
Like a donut, with a giant hole cut out of the middle? That's not what mine looks like...
Comment 4 Ken Vermette 2018-09-02 05:28:28 UTC
(In reply to Nate Graham from comment #3)
> (In reply to Ken Vermette from comment #2)
> > (In reply to Nate Graham from comment #1)
> > > Whoa, I don't think that's what the clock is supposed to look like. Why is
> > > it a donut? Is this some artifact of your theme?
> > 
> > That's how it's meant to look.
> Like a donut, with a giant hole cut out of the middle? That's not what mine
> looks like...

Are you using the Aether Dark theme?
Comment 5 Nate Graham 2018-09-03 22:11:44 UTC
Oh, that's just how the clock looks with Aether Dark? Weird.

I don't see this issue with the Breeze theme. Ken, do you have reason to suspect that this is a bug in the widget's code rather than a theme issue?
Comment 6 Christoph Feck 2018-09-04 00:47:08 UTC
The code in the clock KCM that renders the Plasma clock is a more-or-less verbatim copy of the code that once was in the libplasmaclock(?) library at KDE 4 times. It is possible that the code is now outdated, and was not updated to any theme feature changes. See also bug 396936.
Comment 7 Christoph Feck 2018-09-04 00:52:38 UTC
The screenshot shows the issue; changing status.