Bug 488034 - Spectacle toolbar shows wrong pixel size during region selection (Wayland fractional scaling)
Summary: Spectacle toolbar shows wrong pixel size during region selection (Wayland fra...
Status: REPORTED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: 24.05.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords:
: 491991 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-06-04 18:44 UTC by Andrea Ippolito
Modified: 2024-12-14 13:44 UTC (History)
3 users (show)

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


Attachments
Shows the wrong pixel values for various global scale % (51.42 KB, image/png)
2024-12-14 13:30 UTC, ato300
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Ippolito 2024-06-04 18:44:49 UTC
Spectacle's toolbar while capturing a screenshot via the region selection feature shows a wrong pixel size for the selected area.

STEPS TO REPRODUCE

Internal display is enough to reproduce this one.

My laptop's display has a resolution of 2256x1504, but I scale it at 125% (setting a scale factor is crucial to reproduce)

Launch spectacle and choose the region screenshot feature. Now drag a rectangle and check the pixel size the toolbar shows for the selected area: it is probably much higher than the actual pixel count. To prove this, you can just draw a rectangle from the top left to the bottom right corner of the screen, and you will see an exaggerated pixel size for it. In my case at 125% it says "3609x2405" (which isn't even native resolution * 1.25, by quite a margin).

The captured image has the correct resolution, though (2256x1504).
Comment 1 Andrea Ippolito 2024-06-04 19:13:25 UTC
Working fine of course at 100%, but also at 200%.
Comment 2 ato300 2024-12-14 13:30:24 UTC
Created attachment 176600 [details]
Shows the wrong pixel values for various global scale %

I can reproduce this on Kubuntu 24.10 (Plasma 6.1.5, Frameworks 6.6.0, Qt 6.6.2), Wayland, on a 2K monitor (2560x1440).

I tested various global scale percentages and I believe I found the "formula" of the error.

On 100%, 200%, 300% pixels are reported correctly. 

In the attached table, I've shown the reported pixels when I select the rectangular region to be as large as possible (i.e. to encompass the whole screen) and I compared that with the expected resolution. Small rounding errors are possible.

So for the fractional global scale values it seems that the number of pixels displayed is A times larger than expected, where A is computed as:

A = CEIL(GlobalScale) / GlobalScale
Comment 3 ato300 2024-12-14 13:44:03 UTC
*** Bug 491991 has been marked as a duplicate of this bug. ***