Windows-Auto-Night-Mode配置文件详解:理解JSON设置结构

📅 2026/8/7 23:15:14
Windows-Auto-Night-Mode配置文件详解:理解JSON设置结构
Windows-Auto-Night-Mode配置文件详解理解JSON设置结构配置文件核心结构概述Windows-Auto-Night-Mode的配置系统基于JSON格式其核心定义位于AutoDarkModeLib/Configs/AdmConfig.cs。该文件定义了应用程序的所有可配置参数采用分层结构设计主要包含全局开关、时间设置、组件配置和高级选项四大模块。配置文件加载时会被序列化为AdmConfig类实例通过修改JSON文件或使用图形界面均可调整这些参数。全局基础设置自动切换总开关{ AutoThemeSwitchingEnabled: true, Governor: Default }AutoThemeSwitchingEnabled: 主开关控制整个自动切换功能的启用状态Governor: 切换策略选择默认值为Default可根据日出日落时间或自定义规则切换时间配置模块时间设置是自动切换的基础相关代码定义如下public DateTime Sunrise { get; set; } new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 7, 0, 0); public DateTime Sunset { get; set; } new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 20, 0, 0);对应的JSON结构{ Sunrise: 0001-01-01T07:00:00, Sunset: 0001-01-01T20:00:00, Location: { Enabled: true, UseGeolocatorService: true, SunsetOffsetMin: 0, SunriseOffsetMin: 0, CustomLat: 39.9042, CustomLon: 116.4074 } }Location.Enabled: 启用地理位置服务自动计算日出日落时间CustomLat/Lon: 手动指定经纬度坐标在禁用地理位置服务时生效*OffsetMin: 时间偏移量单位分钟可微调日出日落时间组件开关与配置应用采用模块化设计每个功能组件可独立启用和配置。所有组件配置均继承自BaseSettings或BaseSettingsEnabled泛型类位于AutoDarkModeLib/ComponentSettings/目录下。系统主题切换组件{ SystemSwitch: { Enabled: true, Settings: { DarkThemePath: C:\\Windows\\Resources\\Themes\\dark.theme, LightThemePath: C:\\Windows\\Resources\\Themes\\light.theme, MonitorActiveTheme: true } } }Enabled: 组件启用状态DarkThemePath/LightThemePath: 自定义主题文件路径MonitorActiveTheme: 监控系统主题变化并同步配置壁纸切换组件{ WallpaperSwitch: { Enabled: true, Settings: { DarkWallpaperPath: C:\\Pictures\\wallpaper_dark.jpg, LightWallpaperPath: C:\\Pictures\\wallpaper_light.jpg, Fit: Fill } } }该组件允许为明暗模式分别设置不同壁纸支持多种显示模式填充、适应、拉伸等相关实现可参考SwitchComponents/Base/WallpaperSwitch.cs。其他核心组件应用切换AppsSwitchSettings控制特定应用的主题适配光标切换CursorSwitchSettings管理明暗模式下的光标样式颜色调整ColorizationSwitchSettings配置系统颜色方案高级配置选项性能优化设置{ GPUMonitoring: { Enabled: true, Threshold: 30, Samples: 3 }, ProcessBlockList: { Enabled: true, ProcessNames: [Photoshop.exe, PremierePro.exe] } }GPUMonitoring: 当GPU使用率超过阈值默认30%时暂停主题切换ProcessBlockList: 进程黑名单运行指定进程时暂停切换通知与交互设置{ Notifications: { OnAutoThemeSwitching: true, OnSkipNextSwitch: true }, AutoSwitchNotify: { Enabled: true, GracePeriodMinutes: 5 }, Hotkeys: { Enabled: true, ForceLight: CtrlAltL, ForceDark: CtrlAltD, ToggleTheme: CtrlAltT } }通知设置控制主题切换时的提示方式AutoSwitchNotify启用切换前的 grace 期提示自定义热键可快速切换主题模式配置文件管理实践配置文件位置应用配置文件通常位于用户目录下的AppData\Roaming\AutoDarkMode文件夹中。通过图形界面修改的设置会自动保存到JSON文件也可手动编辑后通过AutoDarkModeApp/Pages/PageSettings.xaml.cs中实现的配置重载功能生效。配置备份与迁移建议定期备份配置文件特别是在升级版本前。配置迁移可通过简单复制JSON文件实现但需注意不同版本间的配置结构可能存在差异。高级用户可使用AutoDarkModeLib/AdmConfigBuilder.cs中提供的API进行配置文件的验证和转换。常见配置问题解决时间不同步问题若自动切换时间不准确应检查地理位置服务是否启用并授予权限系统时间和时区设置是否正确日出日落偏移量是否被意外调整组件不生效排查当某个组件无法正常工作时可按以下步骤诊断检查配置中对应组件的Enabled属性是否为true查看日志文件启用Tunable.Debugtrue获取详细错误信息验证相关文件路径如壁纸、主题文件是否存在且可访问通过本文档您已了解Windows-Auto-Night-Mode配置系统的核心结构和使用方法。完整配置项请参考AdmConfig.cs源代码更多高级用法可查阅项目README.md文档。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考