<AWT Dev> [14] Review Request: 8231438 [macos] The dark mode is not supported yet

Philip Race philip.race at oracle.com
Thu Dec 5 02:12:37 UTC 2019


# If no value is set then light mode will be used
# if "system" value is set then the current appearance of the macOS will 
be used
# Other possible values are "NSAppearanceNameAqua", 
"NSAppearanceNameDarkAqua": see

What happens if a value is set but it is none of the above ?
The spec. should say ...

-phil.

On 12/4/19, 3:16 PM, Sergey Bylokhov wrote:
> Please take a look to the CSR:
> https://bugs.openjdk.java.net/browse/JDK-8235363
>
> On 12/3/19 9:06 pm, Prasanta Sadhukhan wrote:
>> OK. looks ok to me.
>>
>> Regards
>>
>> Prasanta
>>
>> On 04-Dec-19 1:16 AM, Sergey Bylokhov wrote:
>>> On 12/3/19 12:21 am, Prasanta Sadhukhan wrote:
>>>> Fix looks ok to me but if dark mode is not being supported, why do 
>>>> we need to update the test to work on dark mode? I think we need to 
>>>> have some test to check if jdk returns unsupportedexception or 
>>>> something similar for dark mode for now.
>>>
>>> An update of the test is not strictly related to the fix, the change 
>>> relaxed the checks
>>> which caused test to fail on my default config when DarkMode is 
>>> used(and pass on LightMode),
>>> but it also might fail on LightMode if some non default theme is used.
>>>
>>> Note that after this fix the dark mode(if set as an appearance in 
>>> the macOS) in some way will be "supported".
>>>
>>> I mean currently DarkMode as a macOS appearance is unsupported 
>>> because the Aqua uses dark appearance
>>> which does not work properly and some tests fail, after the fix Aqua 
>>> will use light appearance and
>>> we could pass all related tests
>>> (actually the whole fix is a workaround for 
>>> https://bugs.openjdk.java.net/browse/JDK-8228555)
>>>
>>>>
>>>> Regards
>>>>
>>>> Prasanta
>>>>
>>>> On 27-Sep-19 6:08 AM, Sergey Bylokhov wrote:
>>>>> Hello.
>>>>> Please review the fix for JDK 14.
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8231438
>>>>> Fix: http://cr.openjdk.java.net/~serb/8231438/webrev.01
>>>>>
>>>>> In jdk13 we started to use SDK 10.14 to build JDK, which 
>>>>> automatically opt-in support of dark mode:
>>>>> --------------
>>>>> "The system assumes that apps linked against the macOS 10.14 or 
>>>>> later SDK support both light and dark appearances"
>>>>> https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_macos_app?language=objc 
>>>>>
>>>>> --------------
>>>>>
>>>>> Unfortunately we dark mode still unsupported by the AWT/Swing, 
>>>>> because of:
>>>>>  - JavaRuntimeSupport Framework which is used by the Aqua L&F to 
>>>>> draw the "native"
>>>>>    appearance does not provide "dark mode" appearance, the bug is 
>>>>> filed to Apple.
>>>>>    https://bugs.openjdk.java.net/browse/JDK-8228555
>>>>>  - In a few places, we mix the "native" colors used by the system 
>>>>> and default colors
>>>>>    used by the Swing. For example, we may use a transparent white 
>>>>> selection "native"
>>>>>    color which is invisible on top of white text fields.
>>>>>
>>>>> While the bugs above are not fixed we may opt-out the dark mode:
>>>>> -------------
>>>>> Supporting Dark Mode is strongly encouraged. Use the 
>>>>> NSRequiresAquaSystemAppearance key to opt out temporarily only 
>>>>> while you work on improvements to your app's Dark Mode support. If 
>>>>> you do not plan to support a dark appearance at all, apply a light 
>>>>> appearance to your entire app, as described in Assign a Specific 
>>>>> Appearance to Your App.
>>>>> https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_macos_app?language=objc 
>>>>>
>>>>> -------------
>>>>>
>>>>> I tried to disable it via plist.info but it does not work for 
>>>>> "java -jar" case, so I disabled it in the code
>>>>> Some constants in one test were updated to work on dark and light 
>>>>> mode, but an updated test still reproduce the initial bug.
>>>>>
>>>>>
>>>
>>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/awt-dev/attachments/20191204/d2094e42/attachment.html>


More information about the awt-dev mailing list