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

Reply via email to