[Bug] macOS 下深/浅色模式 “跟随系统设置”失效
问题描述 | Bug Description
环境:macOS 26.1 zulujdk+fx 25 HMCL版本:3.9.0.311 & 3.9.SNAPSHOT 最新构建 如图
重启后依然如此,系统设置中固定深色模式也如此
启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File
None
调试了一下,感觉是 JavaFX 的问题,不是 HMCL 的问题
请提供启动器日志文件
com.sun.javafx.application.preferences.PreferenceProperties
背景和前景颜色还是默认值,说明 JavaFX 根本就没获取到这两个颜色的系统值
针对 macOS 其实有一个解决方法: 执行...
/usr/bin/defaults read -g AppleInterfaceStyle
如果返回 Dark 则系统处于暗黑模式
处于浅色模式则返回 The domain/default pair of (kCFPreferencesAnyApplication, AppleInterfaceStyle) does not exist,代表这个值没有被设置(直接不用管)
Windows 上也可以考虑注册表的方式:
在 Software\Microsoft\Windows\CurrentVersion\Themes\Personalize 中 AppsUseLightTheme 为 1 则为亮色,0 为暗色
背景和前景颜色还是默认值,说明 JavaFX 根本就没获取到这两个颜色的系统值
我拿 jshell 测试了一下,JavaFX 在 jshell 里能获取到 macOS 的浅色和深色状态,但在 HMCL 里同样的 API 就检测不到了。很奇怪。
背景和前景颜色还是默认值,说明 JavaFX 根本就没获取到这两个颜色的系统值
我拿 jshell 测试了一下,JavaFX 在 jshell 里能获取到 macOS 的浅色和深色状态,但在 HMCL 里同样的 API 就检测不到了。很奇怪。
你测试的时候 jshell 和 gradle 用的 jvm 是一个吗