private void AfterToggleModeHandler(DarkModeApplyArea area, WindowsColorMode mode) { if (area == DarkModeApplyArea.ForWindowsControls) { notifyIcon.Icon = DMH.GetSystemTrayIcon( ApplicationIconLight, ApplicationIconDark); } ShowBalloonTipText($"Switched successfully to {mode} Mode."); }
public static void SwitchColorModeTo(DarkModeApplyArea area, WindowsColorMode target) { if (GetCurrentWindowsColorMode(area) == target) { return; } var value = target == WindowsColorMode.Light ? 1 : 0; var key = area == DarkModeApplyArea.ForWindowsControls ? SystemUsesLightThemeValueName : AppsUseLightThemeValueName; Registry.SetValue(BasePath, key, value); AfterToggleModeHandlers?.Invoke(area, target); }
private static void SwitchModeIfOnTime(DateTime scheduleTime, WindowsColorMode target) { var now = DateTime.Now; var onTime = scheduleTime.Hour == now.Hour && scheduleTime.Minute == now.Minute; if (!onTime) { return; } if (IsApplyForWindowsControls) { SwitchColorModeTo(DarkModeApplyArea.ForWindowsControls, target); } if (IsApplyForApps) { SwitchColorModeTo(DarkModeApplyArea.ForApps, target); } }