<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