-
-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wallpaper switching back after a second #900
Comments
I've done a fresh install of Windows 11 last week, with every possible system update installed. I decided to try the wallpaper switch feature for the first time as well (I've never used it before on Windows 10), but I'm experiencing the same issue. |
@nightfever77 @Spiritreader @Armin2208 After fiddling around with settings and config files for a while, I may have found a workaround and a possible cause for the behavior in question. Basically, the .theme file created by AutoDarkMode contains two different wallpaper keys under the Anyway, since then I've decided to let ADM handle the themes through Windows by defining two new custom themes, and for whatever reason the second one didn't save the correct image. After changing it manually inside the .theme file it appears to work, so I would advise to give it a try. |
There was only one line [Control Panel\Desktop] Additional notice: If I change If I setup two different colors (black and white) instead of two wallpapers nothing changes, background remains grey. |
The wallpaper with a number at the end is the wallpaper for each monitor when MultiMon background is enabled. A theme file should never contain both light and dark wallpapers. If that happens, it effectively means that something went wrong. What I've discovered is that there are multiple instances where windows modifies the theme file that was supposed to be applied, - often wrong - which is usually related to special Unicode characters though. So most likely not what is happening here. @rdxdkr Getting multi monitor wallpapers to work In a way where the images show up on the correct monitor is quite the challenge by itself when simultaneously attempting to modify the light/dark UI flavor while maintaining a synchronized theme state between ADM and Windows. That change then gets propagated to the active theme file that windows uses, which serves as our base theme that we then modify with the remaining preferences configured in ADM. This by itself is also a challenge, because we can't read the active theme file directly as it only persists in memory until an update is triggered by an unknown component that flushes it to disk. Since there is no explicit synchronization between those events (as it's all async without the ability to subscribe to callback events), what you're experiencing is mostly likely a desync event. A way to solve it would be to monitor the interim theme file and check if all of the users requested wallpapers are found, and then perform in the following order:
As you can see, quite a bit of complexity that goes into getting this to work cleanly. When you use the windows theme mode, all of this synchronization mess goes out the Window because we never land in a scenario where we had to synchronize two or more async api calls. The windows theme mode should work better in theory. It does for some, and almost never works for others. So it's a YMMV situation on top of that. |
@Spiritreader yikes, that sounds incredibly bad but I guess I shouldn't be really surprised, given how this appears to be quite standard for Windows. Creating and editing themes via the Windows 11 settings UI is inexplicably confusing, after all. Just wanted to add that I'm only using a single monitor and I haven't really touched any related settings. If you want I can share my .theme files, especially the ones automatically generated by ADM. |
Believe me, incredibly bad is still an understatement. The workarounds I had to do to get it to work as is range from inconvenient to straight up unhinged. Even if you're only using a single monitor mode, if you use the multi monitor wallpaper API (which also supports single monitor scenarios) the whole fiasco will still happen. At some point in the future when I have more time again, I'll hopefully get around to building some sync logic on top of what we currently have to hopefully mitigate this some more. |
Description
I set up two wallpapers, one for light mode and another one for dark mode.
When the theme switches from light to dark mode, the wallpaper switches also. But after a second the wallpaper switches back.
This occurs on the automatic theme switch at sundown and on forcing dark mode.
Expected Behavior
No response
Log Data
Commit Hash, Version and Windows Build
cf7a0fe
10.4.1.1
3.1.4
1.3.3.0
7.0.5
22631.4602
Screenshots / Videos
No response
The text was updated successfully, but these errors were encountered: