AutoDarkMode / Windows-Auto-Night-Mode

Automatically switches between the dark and light theme of Windows 10 and Windows 11
GNU General Public License v3.0
7.28k stars 259 forks source link

Black wallpaper after Auto Night Mode switches to light theme the day after (first boot of the day) #854

Open DimitriDR opened 3 months ago

DimitriDR commented 3 months ago

Description

Hi,

It is not written as limitations so I prefer to report the bug, I searched and I didn't find a similar issue.

The scenario is:

The workaround is to open the "Desktop view", and go back again to any desktop.

Expected Behavior

ADM should display the light wallpaper.

Log Data

2024-05-31 09:37:29 | Info | Program.Main: commit hash: cf7a0fe, build: 10.4.1.1 
2024-05-31 09:37:29 | Info | Program.Main: cwd: C:\Users\Dimitri\AppData\Local\Programs\AutoDarkMode\adm-app\AutoDarkModeSvc.exe 
2024-05-31 09:37:30 | Info | ComponentManager..ctor: current windows build: 22631.3593 
2024-05-31 09:37:30 | Info | AsyncPipeServer.Loop: started npipe server with 5 workers (single in, multi out), request: admpipe_request_dimitri 
2024-05-31 09:37:30 | Info | ComponentManager..ctor: using apps and system components for newer builds 19044 and up 
2024-05-31 09:37:30 | Info | ComponentManager..ctor: using wallpaper component for windows builds 22621.1105 and up 
2024-05-31 09:37:30 | Info | ComponentManager..ctor: using colorization and cursor switcher for newer builds 19044 and up 
2024-05-31 09:37:30 | Info | TimeSwitchGovernor.EnableHook: time switch governor selected 
2024-05-31 09:37:30 | Info | ComponentManager.GetComponentsToUpdate: components queued for update: [SystemSwitchThemeFile] 
2024-05-31 09:37:30 | Info | SystemSwitchThemeFile.SwitchSystemTheme: update info - previous: Dark/NoAccent, pending: Light/NoAccent, mode: Switch, accent: no 
2024-05-31 09:37:30 | Info | ThemeManager.UpdateTheme: dwm management: requested standard refresh will be performed by component(s) in queue 
2024-05-31 09:37:30 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 09:37:30 | Info | ThemeManager.UpdateTheme: light theme switch performed, source: TimeSwitchModule, sunrise: 30/05/2024 05:53:17 
2024-05-31 09:37:30 | Info | SystemEventHandler.RegisterResumeEvent: enabling theme refresh at system unlock (win 11) 
2024-05-31 09:55:28 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 09:55:29 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 09:55:29 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 09:55:29 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 09:55:29 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 10:03:14 | Info | Program.Main: commit hash: cf7a0fe, build: 10.4.1.1 
2024-05-31 10:03:14 | Info | Program.Main: cwd: C:\Users\Dimitri\AppData\Local\Programs\AutoDarkMode\adm-app\AutoDarkModeSvc.exe 
2024-05-31 10:03:14 | Info | ComponentManager..ctor: current windows build: 22631.3593 
2024-05-31 10:03:14 | Info | AsyncPipeServer.Loop: started npipe server with 5 workers (single in, multi out), request: admpipe_request_dimitri 
2024-05-31 10:03:14 | Info | ComponentManager..ctor: using apps and system components for newer builds 19044 and up 
2024-05-31 10:03:14 | Info | ComponentManager..ctor: using wallpaper component for windows builds 22621.1105 and up 
2024-05-31 10:03:14 | Info | ComponentManager..ctor: using colorization and cursor switcher for newer builds 19044 and up 
2024-05-31 10:03:14 | Info | TimeSwitchGovernor.EnableHook: time switch governor selected 
2024-05-31 10:03:14 | Info | SystemEventHandler.RegisterResumeEvent: enabling theme refresh at system unlock (win 11) 
2024-05-31 10:03:47 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 10:03:47 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 10:03:47 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 10:03:47 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 12:43:16 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 12:43:16 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 12:43:16 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 12:43:16 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 12:43:16 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 13:14:26 | Info | Program.Main: commit hash: cf7a0fe, build: 10.4.1.1 
2024-05-31 13:14:26 | Info | Program.Main: cwd: C:\Users\Dimitri\AppData\Local\Programs\AutoDarkMode\adm-app\AutoDarkModeSvc.exe 
2024-05-31 13:14:26 | Info | AsyncPipeServer.Loop: started npipe server with 5 workers (single in, multi out), request: admpipe_request_dimitri 
2024-05-31 13:14:26 | Info | ComponentManager..ctor: current windows build: 22631.3593 
2024-05-31 13:14:26 | Info | ComponentManager..ctor: using apps and system components for newer builds 19044 and up 
2024-05-31 13:14:26 | Info | ComponentManager..ctor: using wallpaper component for windows builds 22621.1105 and up 
2024-05-31 13:14:26 | Info | ComponentManager..ctor: using colorization and cursor switcher for newer builds 19044 and up 
2024-05-31 13:14:26 | Info | TimeSwitchGovernor.EnableHook: time switch governor selected 
2024-05-31 13:14:26 | Info | SystemEventHandler.RegisterResumeEvent: enabling theme refresh at system unlock (win 11) 
2024-05-31 15:14:26 | Info | LocationHandler.UpdateWithGeolocator: updated geoposition via geolocator 
2024-05-31 15:14:26 | Info | LocationHandler.UpdateSunTime: new sunrise (05:52) and new sunset (21:43) 
2024-05-31 15:57:23 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 15:57:23 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 15:57:23 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 15:57:23 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 15:57:23 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 16:05:50 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 16:05:50 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 16:05:50 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 16:05:50 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 16:05:50 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 20:33:37 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 20:33:37 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 20:33:37 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 20:33:38 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 20:33:38 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 21:31:52 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 21:31:52 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 21:31:52 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 21:31:52 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 21:31:52 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 21:40:53 | Info | PostponeManager.Remove: postpone queue cleared 
2024-05-31 21:40:53 | Info | SystemEventHandler.SystemEvents_Windows11_SessionSwitch: system unlocked, refreshing theme 
2024-05-31 21:40:53 | Info | ThemeManager.UpdateTheme: dwm management: refresh is expected to be handled by user 
2024-05-31 21:40:53 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-05-31 21:40:53 | Info | ThemeManager.UpdateTheme: refreshed light theme, source: SystemUnlock 
2024-05-31 21:44:26 | Info | ComponentManager.GetComponentsToUpdate: components queued for update: [SystemSwitchThemeFile] 
2024-05-31 21:44:26 | Info | SystemSwitchThemeFile.SwitchSystemTheme: update info - previous: Light/NoAccent, pending: Dark/NoAccent, mode: Switch, accent: no 
2024-05-31 21:44:26 | Info | ThemeManager.UpdateTheme: dwm management: requested standard refresh will be performed by component(s) in queue 
2024-05-31 21:44:27 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedDark, from origin: C:\Windows\Resources\Themes\themeA.theme directly via IThemeManager2 
2024-05-31 21:44:27 | Info | ThemeManager.UpdateTheme: dark theme switch performed, source: TimeSwitchModule, sunset: 31/05/2024 21:43:43 
2024-05-31 22:29:56 | Info | SystemEventHandler.HandleTimeChangedEvent: system time changed from 31/05/2024 22:29:56 
2024-06-01 10:22:45 | Info | Program.Main: commit hash: cf7a0fe, build: 10.4.1.1 
2024-06-01 10:22:45 | Info | Program.Main: cwd: C:\Users\Dimitri\AppData\Local\Programs\AutoDarkMode\adm-app\AutoDarkModeSvc.exe 
2024-06-01 10:22:46 | Info | AsyncPipeServer.Loop: started npipe server with 5 workers (single in, multi out), request: admpipe_request_dimitri 
2024-06-01 10:22:46 | Info | ComponentManager..ctor: current windows build: 22631.3593 
2024-06-01 10:22:46 | Info | ComponentManager..ctor: using apps and system components for newer builds 19044 and up 
2024-06-01 10:22:46 | Info | ComponentManager..ctor: using wallpaper component for windows builds 22621.1105 and up 
2024-06-01 10:22:46 | Info | ComponentManager..ctor: using colorization and cursor switcher for newer builds 19044 and up 
2024-06-01 10:22:46 | Info | TimeSwitchGovernor.EnableHook: time switch governor selected 
2024-06-01 10:22:46 | Info | ComponentManager.GetComponentsToUpdate: components queued for update: [SystemSwitchThemeFile] 
2024-06-01 10:22:46 | Info | SystemSwitchThemeFile.SwitchSystemTheme: update info - previous: Dark/NoAccent, pending: Light/NoAccent, mode: Switch, accent: no 
2024-06-01 10:22:46 | Info | ThemeManager.UpdateTheme: dwm management: requested standard refresh will be performed by component(s) in queue 
2024-06-01 10:22:46 | Info | Tm2Handler.SetTheme: applied theme ADMUnmanagedLight, from origin: C:\Windows\Resources\Themes\aero.theme directly via IThemeManager2 
2024-06-01 10:22:46 | Info | ThemeManager.UpdateTheme: light theme switch performed, source: TimeSwitchModule, sunrise: 31/05/2024 05:52:35 
2024-06-01 10:22:46 | Info | SystemEventHandler.RegisterResumeEvent: enabling theme refresh at system unlock (win 11) 
2024-06-01 10:26:24 | Info | MessageParser.Parse: signal received: request for running status 
2024-06-01 10:26:24 | Info | MessageParser.Parse: signal received: validate autostart entries 
2024-06-01 10:26:24 | Info | TaskSchdHandler.GetLogonTask: logon task folder does not exist 

Commit Hash, Version and Windows Build

Screenshots / Videos

image

Spiritreader commented 3 months ago

Please provide the full configuration file as described in the bug report template.

The workaround is to open the "Desktop view", and go back again to any desktop.

That sounds like yet another Windows issue, which can be related to your configuration.

You are using the unmanaged (theme) mode which generally means that Auto Dark Mode does not interfere in any way with your system apart from applying the theme itself. Meaning the responsibility to set up your system in a way that works is on you.

Please upload the %localappdata%\Microsoft\Windows\Themes\AdmUnmanagedLight.theme as well.

Also check if you are using wallpapers for multiple virtual desktops and multiple monitors at the same time. If that is the case, Windows will hurt itself in confusion.

DimitriDR commented 3 months ago

What do you mean by "unmanaged (theme) mode"?

Here's the asked files:

AutoThemeSwitchingEnabled: true
Governor: Default
Autostart:
  Validate: true
WindowsThemeMode:
  Enabled: true
  DarkThemePath: C:\Windows\Resources\Themes\themeA.theme
  LightThemePath: C:\Windows\Resources\Themes\aero.theme
  MonitorActiveTheme: false
  ApplyFlags: []
AppsSwitch:
  Enabled: true
  Component:
    Mode: Switch
SystemSwitch:
  Enabled: true
  Component:
    Mode: Switch
    TaskbarSwitchDelay: 1200
    TaskbarColorOnAdaptive: false
    TaskbarColorWhenNonAdaptive: Light
    DWMPrevalenceSwitch: false
    DWMPrevalenceEnableTheme: Light
TouchKeyboardSwitch:
  Enabled: false
  Component: {}
ColorizationSwitch:
  Enabled: false
  Component:
    LightHex: '#FF0078D4'
    DarkHex: '#FF0078D4'
    LightAutoColorization: false
    DarkAutoColorization: false
ColorFilterSwitch:
  Enabled: false
  Component: {}
OfficeSwitch:
  Enabled: false
  Component:
    Mode: Switch
    LightTheme: 0
    DarkTheme: 4
CursorSwitch:
  Enabled: false
  Component:
    CursorsLight: 
    CursorsDark: 
Sunrise: 2023-09-09T07:00:00.0000000
Sunset: 2023-09-09T20:00:00.0000000
Location:
  PollingCooldownTimeSpan: 1.00:00:00
  Enabled: true
  UseGeolocatorService: true
  SunsetOffsetMin: 0
  SunriseOffsetMin: 0
  CustomLat: 0
  CustomLon: 0
Tunable:
  BatterySliderDefaultValue: 25
  DisableEnergySaverOnThemeSwitch: false
  UseLogonTask: false
  Debug: false
  Trace: false
  DebugTimerMessage: false
  ShowTrayIcon: true
  AlwaysFullDwmRefresh: false
  UICulture: fr
GPUMonitoring:
  Enabled: false
  Threshold: 30
  Samples: 1
ProcessBlockList:
  ProcessNames: []
  Enabled: false
Events:
  DarkThemeOnBattery: false
  Win10AllowLockscreenSwitch: true
Notifications:
  OnAutoThemeSwitching: true
  OnSkipNextSwitch: true
AutoSwitchNotify:
  Enabled: false
  GracePeriodMinutes: 5
Hotkeys:
  Enabled: false
  ForceLight: 
  ForceDark: 
  NoForce: 
  ToggleTheme: 
  TogglePostpone: 
  ToggleAutoThemeSwitch: 
IdleChecker:
  Enabled: false
  Threshold: 5
WallpaperSwitch:
  Enabled: false
  Component:
    TypeLight: Global
    TypeDark: Global
    Position: Fill
    GlobalWallpaper:
      Light: C:\Users\Dimitri\Downloads\eberhard-grossgasteiger-UclnVUmf5aQ-unsplash.jpg
      Dark: C:\Users\Dimitri\Downloads\oc-gonzalez-HeRzzb51a4k-unsplash.jpg
    SolidColors:
      Light: '#FFFFFF'
      Dark: '#000000'
    Monitors:
    - Id: '\\?\DISPLAY#GBT270D#5&2f201467&0&UID160001#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}'
      LightThemeWallpaper: C:\Windows\web\wallpaper\Windows\img19.jpg
      DarkThemeWallpaper: C:\Windows\web\wallpaper\Windows\img19.jpg
Updater:
  AutoInstall: false
  Enabled: true
  Silent: false
  DaysBetweenUpdateCheck: 7
  CheckOnStart: false
  VersionQueryUrl: 
  DownloadBaseUrl: 
  ZipCustomUrl: 
  HashCustomUrl: 

And ADMUnmanagedLight.theme:

; Copyright © Microsoft Corp.

[Theme]
UnmanagedOriginalName=@%SystemRoot%\System32\themeui.dll,-2060
ThemeId={6512f213-cb06-4e6e-a06a-8dbf92e9fc3b}
; Windows - IDS_THEME_DISPLAYNAME_AERO_LIGHT
DisplayName=ADMUnmanagedLight
SetLogonBackground=0

; Computer - SHIDI_SERVER
[CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-109

; UsersFiles - SHIDI_USERFILES
[CLSID\{59031A47-3F72-44A7-89C5-5595FE6B30EE}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-123

; Network - SHIDI_MYNETWORK
[CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-25

; Recycle Bin - SHIDI_RECYCLERFULL SHIDI_RECYCLER
[CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon]
Full=%SystemRoot%\System32\imageres.dll,-54
Empty=%SystemRoot%\System32\imageres.dll,-55

[Control Panel\Cursors]
AppStarting=%SystemRoot%\cursors\aero_working.ani
Arrow=%SystemRoot%\cursors\aero_arrow.cur
Crosshair=
Hand=%SystemRoot%\cursors\aero_link.cur
Help=%SystemRoot%\cursors\aero_helpsel.cur
IBeam=
No=%SystemRoot%\cursors\aero_unavail.cur
NWPen=%SystemRoot%\cursors\aero_pen.cur
SizeAll=%SystemRoot%\cursors\aero_move.cur
SizeNESW=%SystemRoot%\cursors\aero_nesw.cur
SizeNS=%SystemRoot%\cursors\aero_ns.cur
SizeNWSE=%SystemRoot%\cursors\aero_nwse.cur
SizeWE=%SystemRoot%\cursors\aero_ew.cur
UpArrow=%SystemRoot%\cursors\aero_up.cur
Wait=%SystemRoot%\cursors\aero_busy.ani
DefaultValue=Windows Default
DefaultValue.MUI=@main.cpl,-1020

[Control Panel\Desktop]
Wallpaper=%SystemRoot%\web\wallpaper\Windows\img0.jpg
TileWallpaper=0
WallpaperStyle=10
Pattern=

[VisualStyles]
Path=%ResourceDir%\Themes\Aero\Aero.msstyles
ColorStyle=NormalColor
Size=NormalSize
AutoColorization=0
ColorizationColor=0XC40078D4
SystemMode=Light
AppMode=Light

[boot]
SCRNSAVE.EXE=

[MasterThemeSelector]
MTSM=RJSPBS

[Sounds]
; IDS_SCHEME_DEFAULT
SchemeName=@%SystemRoot%\System32\mmres.dll,-800

[Control Panel\Colors]
InfoText=0 0 0

And, also, I don't use neither multiple monitors or multiple wallpapers. It's just the default light Windows wallpaper, and a single dark from the default Windows wallpapers.

Thanks!

Spiritreader commented 3 months ago

Thanks for providing the config and theme file!

What do you mean by "unmanaged (theme) mode"?

The Windows Theme mode is unmanaged theme mode, as it only instructs Windows to apply a certain set of themes. That basically bypasses all optimizations (but also potential issues) that ADM might introduce to a theme switch.

The good news is that the theme ADM loaded to apply looks okay, so the unset wallpaper is not an issue where ADM syncs with the wrong theme data.

Could you check what happens when you get the glitch with the unset wallpaper and you restart the Auto Dark Mode service by exiting it via the tray and restarting it? I want to make sure that there aren't any issues with the theme being applied too early before the desktop is fully loaded.

DimitriDR commented 3 months ago

So, when the issue happens, I waited for ADM to start and change my theme to light. Still the black "wallpaper". I did quit ADM with the tray menu. I restarted it again and the black wallpaper stayed and stays until I do my workaround.

DimitriDR commented 3 months ago

Something I noticed today, I don't remembered having seen this yet, but I saw my light wallpaper for half a second before turning black. I don't know if this could help.

Spiritreader commented 3 months ago

Hmm I see. Thanks for checking!

Could you, when you get the black wallpaper, open the Windows Settings, go to "Themes" and check whether the currently active theme is ADMUnmanagedLight or Custom?

DimitriDR commented 3 months ago

It is ADMUnmanagedLight

Spiritreader commented 2 months ago

It is ADMUnmanagedLight

That would suggest that Auto Dark Mode is doing everything correctly and there is an issue with how Windows behaves during the unlock phase.

Could you update to the latest beta and then, once the issue occurs, use the "Try to fix theme" option? image

If that solves the issue, it may be that the theme is getting applied too early after an unlock event

DimitriDR commented 1 month ago

I'm coming back. I just wanted to confirm with the beta update. So far, it seems to be fixed with the beta update, I didn't even had to click on Try to fix theme.🤷

Spiritreader commented 1 month ago

I'm coming back. I just wanted to confirm with the beta update. So far, it seems to be fixed with the beta update, I didn't even had to click on Try to fix theme.🤷

That is good to hear. Your issue was one of the last blockers before we will push a new release from current beta.

Thanks for the update!