<AWT Dev> [9] Review request for 8163101: dual-screen issue with JMenu, JPopupMenu

Semyon Sadetsky semyon.sadetsky at oracle.com
Fri Sep 23 17:40:01 UTC 2016

On 23.09.2016 19:31, Sergey Bylokhov wrote:
> On 23.09.16 19:22, Semyon Sadetsky wrote:
>>> Because it should return the bounds of the primary screen, not
>>> "combined virtual screen". Also its spec should be updated to mention
>>> units instead of real pixels which differs in HiDPI.
>> Screen is a platform dependent term. In case Xinerama is on there is
>> only one screen in multi-monitor configuration. In this case individual
>> monitor parameters still can be get using special Xrandr library but for
>> window manager there is only one screen (combined). Since java toolkit
>> communicates to WM it should use WM's "language".
> Screen in our specification is a our own term. We have GraphicsDevice 
> per screen. We have s special notion about "combined virtual screen" 
> which "share the same coordinate system". Our methods and 
> specification are not depends from the native WM implementation. In 
> the current discussion toolkit should return the bounds of the primary 
> screen which is default GraphicsDevice. So in the current fix the code 
> related to popup menu should be updated. The new bug should be filed 
> against toolkit.
Sorry, i didn't get what do you think should be updated in the current 
fix? This is a regression fix. I just reverted part of the previous 
patch to fix the problem. And in all places I changed the whole desktop 
size should be used, not a primary monitor screen size. And 
Toolkit.getScreenSize() has been always returning the whole desktop.
If you think that Toolkit.getScreenSize() should be changed to return 
the monitor-1 size, I don't mind to file a separate bug. I'm sure it 
will require to revise a lot of usages of the method including those 
you've mentioned. Probably, it will cause compatibility issues and will 
not be approved then. So, how is that related to the current fix?

More information about the awt-dev mailing list