Esempio n. 1
0
        private void AfterToggleModeHandler(DarkModeApplyArea area,
                                            WindowsColorMode mode)
        {
            if (area == DarkModeApplyArea.ForWindowsControls)
            {
                notifyIcon.Icon = DMH.GetSystemTrayIcon(
                    ApplicationIconLight,
                    ApplicationIconDark);
            }

            ShowBalloonTipText($"Switched successfully to {mode} Mode.");
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }