<AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

<AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Sergey Bylokhov
Hello,
Please review the fix for jdk9.

Toolkit.getSreenSize() returns the size which is different from the size of the main screen(as it is specified).

Since jdk5 on linux it is return the size of the virtual screen(which includes all displays) in pixels. It was discussed in JDK-XXXXXXX, but since support of HiDPI was introduced it is return something different: «the size of the virtual screen in pixels divide by the scale factor of the main screen». So right now the result of this method does not match to the virtual screen size in the users space, it also does not match the size of the virtual screen in pixels, and also does not match to the size of the main screen.

This is a request to unify behavior of such methods between linux/windows/macOS in multi-screen environment.

No new issues were found by jtreg/jck.

Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
Webrev can be found at: http://cr.openjdk.java.net/~serb/8168307/webrev.01

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: <AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Alexander Zvegintsev
Hello Sergey,

Main screen on Windows and Mac OS always has (0,0) coordinates. On Linux
main screen may be shifted, e.g. if it is located to the right of
secondary one  (800,0).

I think that it is feasible to unify Linux main screen behavior with Mac
OS and Windowsa and make it always located at (0,0).

Thanks,

Alexander.

On 02/13/2017 12:18 PM, Sergey Bylokhov wrote:

> Hello,
> Please review the fix for jdk9.
>
> Toolkit.getSreenSize() returns the size which is different from the size of the main screen(as it is specified).
>
> Since jdk5 on linux it is return the size of the virtual screen(which includes all displays) in pixels. It was discussed in JDK-XXXXXXX, but since support of HiDPI was introduced it is return something different: «the size of the virtual screen in pixels divide by the scale factor of the main screen». So right now the result of this method does not match to the virtual screen size in the users space, it also does not match the size of the virtual screen in pixels, and also does not match to the size of the main screen.
>
> This is a request to unify behavior of such methods between linux/windows/macOS in multi-screen environment.
>
> No new issues were found by jtreg/jck.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
> Webrev can be found at: http://cr.openjdk.java.net/~serb/8168307/webrev.01
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: <AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Sergey Bylokhov
To me it also looks strange and causes an unpredictable behavior when the main/default screen is on the right. But I guess it is too late to fix in jdk9, I’ll file a bug for jdk10 to investigate it.

> Hello Sergey,
>
> Main screen on Windows and Mac OS always has (0,0) coordinates. On Linux main screen may be shifted, e.g. if it is located to the right of secondary one  (800,0).
>
> I think that it is feasible to unify Linux main screen behavior with Mac OS and Windowsa and make it always located at (0,0).
>
> Thanks,
>
> Alexander.
>
> On 02/13/2017 12:18 PM, Sergey Bylokhov wrote:
>> Hello,
>> Please review the fix for jdk9.
>>
>> Toolkit.getSreenSize() returns the size which is different from the size of the main screen(as it is specified).
>>
>> Since jdk5 on linux it is return the size of the virtual screen(which includes all displays) in pixels. It was discussed in JDK-XXXXXXX, but since support of HiDPI was introduced it is return something different: «the size of the virtual screen in pixels divide by the scale factor of the main screen». So right now the result of this method does not match to the virtual screen size in the users space, it also does not match the size of the virtual screen in pixels, and also does not match to the size of the main screen.
>>
>> This is a request to unify behavior of such methods between linux/windows/macOS in multi-screen environment.
>>
>> No new issues were found by jtreg/jck.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
>> Webrev can be found at: http://cr.openjdk.java.net/~serb/8168307/webrev.01
>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: <AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Alexandr Scherbatiy

The XToolkit.getDefaultScreenWidth()/getDefaultScreenHeight() methods
are supposed to return the width/height in the user space.
Could you rename them and the screenWidth/screenHeight variables to
emphasize the fact that now they work with values in the device space?

Thanks,
Alexandr.

On 2/13/2017 8:58 PM, Sergey Bylokhov wrote:

> To me it also looks strange and causes an unpredictable behavior when the main/default screen is on the right. But I guess it is too late to fix in jdk9, I’ll file a bug for jdk10 to investigate it.
>
>> Hello Sergey,
>>
>> Main screen on Windows and Mac OS always has (0,0) coordinates. On Linux main screen may be shifted, e.g. if it is located to the right of secondary one  (800,0).
>>
>> I think that it is feasible to unify Linux main screen behavior with Mac OS and Windowsa and make it always located at (0,0).
>>
>> Thanks,
>>
>> Alexander.
>>
>> On 02/13/2017 12:18 PM, Sergey Bylokhov wrote:
>>> Hello,
>>> Please review the fix for jdk9.
>>>
>>> Toolkit.getSreenSize() returns the size which is different from the size of the main screen(as it is specified).
>>>
>>> Since jdk5 on linux it is return the size of the virtual screen(which includes all displays) in pixels. It was discussed in JDK-XXXXXXX, but since support of HiDPI was introduced it is return something different: «the size of the virtual screen in pixels divide by the scale factor of the main screen». So right now the result of this method does not match to the virtual screen size in the users space, it also does not match the size of the virtual screen in pixels, and also does not match to the size of the main screen.
>>>
>>> This is a request to unify behavior of such methods between linux/windows/macOS in multi-screen environment.
>>>
>>> No new issues were found by jtreg/jck.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
>>> Webrev can be found at: http://cr.openjdk.java.net/~serb/8168307/webrev.01
>>>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: <AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Sergey Bylokhov
Hi, Alexander.
>
> The XToolkit.getDefaultScreenWidth()/getDefaultScreenHeight() methods are supposed to return the width/height in the user space.
> Could you rename them and the screenWidth/screenHeight variables to emphasize the fact that now they work with values in the device space?

The fix is updated:
http://cr.openjdk.java.net/~serb/8168307/webrev.02

>
> Thanks,
> Alexandr.
>
> On 2/13/2017 8:58 PM, Sergey Bylokhov wrote:
>> To me it also looks strange and causes an unpredictable behavior when the main/default screen is on the right. But I guess it is too late to fix in jdk9, I’ll file a bug for jdk10 to investigate it.
>>
>>> Hello Sergey,
>>>
>>> Main screen on Windows and Mac OS always has (0,0) coordinates. On Linux main screen may be shifted, e.g. if it is located to the right of secondary one  (800,0).
>>>
>>> I think that it is feasible to unify Linux main screen behavior with Mac OS and Windowsa and make it always located at (0,0).
>>>
>>> Thanks,
>>>
>>> Alexander.
>>>
>>> On 02/13/2017 12:18 PM, Sergey Bylokhov wrote:
>>>> Hello,
>>>> Please review the fix for jdk9.
>>>>
>>>> Toolkit.getSreenSize() returns the size which is different from the size of the main screen(as it is specified).
>>>>
>>>> Since jdk5 on linux it is return the size of the virtual screen(which includes all displays) in pixels. It was discussed in JDK-XXXXXXX, but since support of HiDPI was introduced it is return something different: «the size of the virtual screen in pixels divide by the scale factor of the main screen». So right now the result of this method does not match to the virtual screen size in the users space, it also does not match the size of the virtual screen in pixels, and also does not match to the size of the main screen.
>>>>
>>>> This is a request to unify behavior of such methods between linux/windows/macOS in multi-screen environment.
>>>>
>>>> No new issues were found by jtreg/jck.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
>>>> Webrev can be found at: http://cr.openjdk.java.net/~serb/8168307/webrev.01
>>>>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: <AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Alexandr Scherbatiy

The fix looks good to me.

Thanks,
Alexandr.

On 2/28/2017 8:21 PM, Sergey Bylokhov wrote:

> Hi, Alexander.
>> The XToolkit.getDefaultScreenWidth()/getDefaultScreenHeight() methods are supposed to return the width/height in the user space.
>> Could you rename them and the screenWidth/screenHeight variables to emphasize the fact that now they work with values in the device space?
> The fix is updated:
> http://cr.openjdk.java.net/~serb/8168307/webrev.02
>
>> Thanks,
>> Alexandr.
>>
>> On 2/13/2017 8:58 PM, Sergey Bylokhov wrote:
>>> To me it also looks strange and causes an unpredictable behavior when the main/default screen is on the right. But I guess it is too late to fix in jdk9, I’ll file a bug for jdk10 to investigate it.
>>>
>>>> Hello Sergey,
>>>>
>>>> Main screen on Windows and Mac OS always has (0,0) coordinates. On Linux main screen may be shifted, e.g. if it is located to the right of secondary one  (800,0).
>>>>
>>>> I think that it is feasible to unify Linux main screen behavior with Mac OS and Windowsa and make it always located at (0,0).
>>>>
>>>> Thanks,
>>>>
>>>> Alexander.
>>>>
>>>> On 02/13/2017 12:18 PM, Sergey Bylokhov wrote:
>>>>> Hello,
>>>>> Please review the fix for jdk9.
>>>>>
>>>>> Toolkit.getSreenSize() returns the size which is different from the size of the main screen(as it is specified).
>>>>>
>>>>> Since jdk5 on linux it is return the size of the virtual screen(which includes all displays) in pixels. It was discussed in JDK-XXXXXXX, but since support of HiDPI was introduced it is return something different: «the size of the virtual screen in pixels divide by the scale factor of the main screen». So right now the result of this method does not match to the virtual screen size in the users space, it also does not match the size of the virtual screen in pixels, and also does not match to the size of the main screen.
>>>>>
>>>>> This is a request to unify behavior of such methods between linux/windows/macOS in multi-screen environment.
>>>>>
>>>>> No new issues were found by jtreg/jck.
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
>>>>> Webrev can be found at: http://cr.openjdk.java.net/~serb/8168307/webrev.01
>>>>>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: <AWT Dev> [9] Review Request: 8168307 Toolkit.getScreenSize() returns incorrect size on unix in multiscreen systems

Alexander Zvegintsev
+1

--
Thanks,
Alexander.

On 02.03.2017 12:11, Alexandr Scherbatiy wrote:

>
> The fix looks good to me.
>
> Thanks,
> Alexandr.
>
> On 2/28/2017 8:21 PM, Sergey Bylokhov wrote:
>> Hi, Alexander.
>>> The XToolkit.getDefaultScreenWidth()/getDefaultScreenHeight()
>>> methods are supposed to return the width/height in the user space.
>>> Could you rename them and the screenWidth/screenHeight variables to
>>> emphasize the fact that now they work with values in the device space?
>> The fix is updated:
>> http://cr.openjdk.java.net/~serb/8168307/webrev.02
>>
>>> Thanks,
>>> Alexandr.
>>>
>>> On 2/13/2017 8:58 PM, Sergey Bylokhov wrote:
>>>> To me it also looks strange and causes an unpredictable behavior
>>>> when the main/default screen is on the right. But I guess it is too
>>>> late to fix in jdk9, I’ll file a bug for jdk10 to investigate it.
>>>>
>>>>> Hello Sergey,
>>>>>
>>>>> Main screen on Windows and Mac OS always has (0,0) coordinates. On
>>>>> Linux main screen may be shifted, e.g. if it is located to the
>>>>> right of secondary one  (800,0).
>>>>>
>>>>> I think that it is feasible to unify Linux main screen behavior
>>>>> with Mac OS and Windowsa and make it always located at (0,0).
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Alexander.
>>>>>
>>>>> On 02/13/2017 12:18 PM, Sergey Bylokhov wrote:
>>>>>> Hello,
>>>>>> Please review the fix for jdk9.
>>>>>>
>>>>>> Toolkit.getSreenSize() returns the size which is different from
>>>>>> the size of the main screen(as it is specified).
>>>>>>
>>>>>> Since jdk5 on linux it is return the size of the virtual
>>>>>> screen(which includes all displays) in pixels. It was discussed
>>>>>> in JDK-XXXXXXX, but since support of HiDPI was introduced it is
>>>>>> return something different: «the size of the virtual screen in
>>>>>> pixels divide by the scale factor of the main screen». So right
>>>>>> now the result of this method does not match to the virtual
>>>>>> screen size in the users space, it also does not match the size
>>>>>> of the virtual screen in pixels, and also does not match to the
>>>>>> size of the main screen.
>>>>>>
>>>>>> This is a request to unify behavior of such methods between
>>>>>> linux/windows/macOS in multi-screen environment.
>>>>>>
>>>>>> No new issues were found by jtreg/jck.
>>>>>>
>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8168307
>>>>>> Webrev can be found at:
>>>>>> http://cr.openjdk.java.net/~serb/8168307/webrev.01
>>>>>>
>

Loading...