On Thu, 16 Oct 2025 01:18:13 GMT, Harshitha Onkar <[email protected]> wrote:
>> **Issue:** >> The bottom inset is different from the expected value by 2 pixels. >> >> **Analysis:** >> In [JDK-8349351](https://bugs.openjdk.org/browse/JDK-8349351), we agreed >> that a small difference between the expected and actual inset values could >> happen due to scaling. So, we accepted a small margin of error. Harshita >> suggested allowing a margin of 2 or 3 pixels. However, we decided to accept >> only a 1-pixel margin since it was enough for scaling loss and the test was >> passing consistently on CI. >> >> But here we have a different origin of the error. On our OCI Ubuntu 24.04 >> hosts with X11, the _NET_WORKAREA most of the time returns a value that is >> 2px greater than the actual working area. We have verified that the source >> of the issue is not from our code. It seems to be related to the window >> manager. >> >> When the issue occurs, running xprop -root | grep _NET_WORKAREA returns a >> value that is 2px larger than expected. In a system with a bottom inset of >> 30px, a top inset of 32px, and a screen resolution of 1920x1080, when the >> issue occurs, the _NET_WORKAREA value is as follows: >> >>> _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1020, 0, 32, 1920, 10**20** >> >> However, it should be: >> >>> _NET_WORKAREA(CARDINAL) = 0, 32, 1920, 1020, 0, 32, 1920, 10**18** >> >> Wich is the output of the command when the issue doest not occur. >> >> after discution with @aivanov-jdk a 2 pixels margin error is acceptibe >> >> **Proposed Fix:** >> Increase the allowed margin to 2 pixels. > > I see that we are using `_NET_WORKAREA` in Xtoolkit.java to fetch screen > insets. You may want to check getScreenInsetsImpl() method to check why > different values are returned in the 2 cases. Hello @honkar-jdk, Thank you for your follow-up. Both our source code and the command use the same property, _NET_WORKAREA. When I noticed the issue, I thought that maybe we are misusing the _NET_WORKAREA in getScreenInsetsImpl(). However, as you can see in the traces in [JDK-8357390](https://bugs.openjdk.org/browse/JDK-8357390) , it returns the same values as the xprop command does. ------------- PR Comment: https://git.openjdk.org/jdk/pull/25521#issuecomment-3410981990
