feat(ui): 主题切换 + 语言持久化 + About 对话框
- 新增 light/dark 主题调色板与 Windows 注册表系统主题探测 - 偏好设置对话框:主题三选一 + 语言下拉(en/zh-CN/de),即时生效 - 持久化 Language/Theme/AutoLockMinutes/MinimizeToTray 至 YAML 顶层 - 启动时按 config 中保存的语言初始化 i18n - About 对话框展示 version/runtime/项目地址/许可证 - 全部硬编码颜色迁移到 themePalette,为深色模式做准备
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
//go:build windows
|
||||
|
||||
package ui
|
||||
|
||||
import "golang.org/x/sys/windows/registry"
|
||||
|
||||
// systemPrefersDark queries the Windows personalization registry key
|
||||
// to find out whether the user picked dark mode for apps. Returns
|
||||
// false on any read error so the default stays "light".
|
||||
func systemPrefersDark() bool {
|
||||
k, err := registry.OpenKey(
|
||||
registry.CURRENT_USER,
|
||||
`Software\Microsoft\Windows\CurrentVersion\Themes\Personalize`,
|
||||
registry.QUERY_VALUE,
|
||||
)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
defer k.Close()
|
||||
v, _, err := k.GetIntegerValue("AppsUseLightTheme")
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return v == 0
|
||||
}
|
||||
Reference in New Issue
Block a user