<AWT Dev> java.awt.* properties initialization?

Roger Riggs Roger.Riggs at oracle.com
Thu Oct 18 21:50:18 UTC 2018


Hi Phil,

Thanks for filing the issues and clarifications.
I agree that removal is a great option to reduce clutter and maintenance.

I forgot to include 'sun.desktop' which seems to be only ever set to 
'gnome' on linux
and 'windows' on windows.

Thanks, Roger



On 10/18/2018 05:39 PM, Phil Race wrote:
> Adding 2d-dev .. as most of these are actually for 2D, not AWT, 
> despite the names.
>
> I have bugs filed to get rid of these two 2D properties :
>
> https://bugs.openjdk.java.net/browse/JDK-8130264 : java.awt.printerjob
> https://bugs.openjdk.java.net/browse/JDK-8130266 : java.awt.graphicsenv
> Probably I could file another for "awt.toolkit", which is AWT.
>
> The potential external use of these to inject replacments was made 
> moot by jigsaw.
>
> So I don't think I'd bother "moving" them, more like replacing them & 
> then deleting this code.
>
> fontpath used to be used as a workaround for failure by 2D to locate 
> the system fonts
> which probably is no longer needed due to better ways we have of doing 
> this these days.
> We probably could remove that along with the code which reads it.
>
> I'd have to think about where we could put the isInAquaSession() logic.
>
> -phil.
>
>
> On 10/18/2018 07:22 AM, Roger Riggs wrote:
>> Hi,
>>
>> There are a few java.awt.* properties that have support in the 
>> system.c native code based on
>> the operating system.   Most do not need to be in native code and 
>> decoupling the code
>> would be a good cleanup.
>>
>> I'd like to look at the properties and move the initializations to a 
>> more appropriate place.
>> Since they are not used in the java.base module it would be more 
>> appropriate for
>> them to be handled in the java.desktop module and the appropriate 
>> package.
>>
>> At the moment, they all can be overridden by command line arguments 
>> though
>> in some cases, that seems to be unintentional and perhaps undesirable.
>> Most could dispatch on the os_name system property to select the 
>> appropriate implementation class.
>>
>> I'd like to work through this issues and see if there are any special 
>> considerations.
>> Thanks for any comments and advice.
>>
>> Roger
>>
>>
>> java.awt.graphicsenv:  java.awt.GraphicsEnvironment.java
>>
>> "sun.awt.CGraphicsEnvironment" "sun.awt.X11GraphicsEnvironment" 
>> "sun.awt.Win32GraphicsEnvironment"
>>
>> awt.toolkit : java.awt.Toolkit.java
>>
>> "sun.awt.X11.XToolkit" "sun.lwawt.macosx.LWCToolkit" 
>> "sun.awt.windows.WToolkit"
>>
>> java.awt.printerjob: java.awt.print.PrinterJob.java
>>
>> "sun.print.PSPrinterJob""sun.lwawt.macosx.CPrinterJob" 
>> "sun.awt.windows.WPrinterJob"
>>
>> awt.headless:  This may need native code specific to the Mac.
>>
>> isInAquaSession() ? NULL :"true";
>>
>>
>> sun.java2d.fontpath: sun.font.SunFontManager
>> The native initialization is hooked to an environment variable 
>> "JAVA2D_FONTPATH".
>> Is that initialization from the environment still used or needed?
>>
>

-- 
Thanks, Roger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20181018/5db20b39/attachment.html>


More information about the awt-dev mailing list