Apple - How to set a custom dynamic wallpaper in Catalina?
There are 4 solutions to this problem.
- select Catalina wallpaper (System Preferences->Desktop & Screen Saver)
- make sure the popup button has selected Dynamic item
- close the System Preferences
- locate your wallpaper, right click on it and select Services->Set As Wallpaper
Mid (requires tools) Remove Still images from dynamic wallpaper
- recreate dynamic wallpaper without still images (remove appearance metadata)
- dynamic wallpapers without still images will cause only one menu item to be present and it will automatically get selected
- Dynaper has the Remove Still Images Helper tool
Hardest (but best). Place dynamic wallpaper into
- disable SIP
- open terminal and make System partition writable
sudo mount -uw /
- copy wallpaper with root
sudo cp path/to/wallpaper System/Library/Desktop\ Pictures/
- OPTIONAL: copy custom thumbnail (same name as wallpaper) with root
sudo cp path/to/wallpaper System/Library/Desktop\ Pictures/.thumbnails/
- enable SIP
- use Xcode: attach to process
com.apple.preference.desktopscreeneffect.desktop.remoteserviceand Debug view hierarchy
- find the incorrect popup button address
- pause program execution
- run command
- resume program execution
- modify wallpaper selection to Dynamic
- use Xcode: attach to process
Starting macOS Catalina the system prefers Dark still image on dark appearance. Due to bug 2 overlaping popup buttons are displayed. For images inside
System/Library/Desktop Pictures/ the
disableCustomPlacement is set to YES (this makes the other popup to be hidden) . All other locations will have this property set to NO (this causes 2 popups to be displayed).
Derived Properties: pictureChangeIsActive: 0 canSetBackgroundColor: 0 disableCustomPlacement: 0 >
.heic file into
/Library/Desktop Pictures. Then, you'll need to somehow get the list of pictures to repopulate. This seems to sometimes happen to me when unplugging displays, or just after waiting long enough, or, most reliably, after a restart. Then your new desktop should appear in the list of Dynamic Desktops under
System Preferences:Desktop & Screen Saver:Apple/Desktop Pictures.
It seems like Apple prevents the Fill Screen/Fit Screen menu from showing up in the Apple folders, since they presume that all of them are already properly sized. This avoids the issue where they located those two menus on top of each other, which is what's preventing us from just loading the wallpapers directly.
As the Library/Desktop Pictures/ is located under /System/ (which is protected by SIP), users don't have write access in there. To workaround this, you can boot into Recovery Mode, disable SIP, restart, move pictures into the default folder, boot back into Recovery Mode, enable SIP and then restart. But all of this seems like overkill just to change a wallpaper.
There's another way to change your custom dynamic wallpaper to "dynamic". Do the following instead:
sys prefs > desktop & screen saverand choose the default dynamic Catalina wallpaper. Set it to "dynamic" and exit sys prefs.
Open Finder and navigate to the folder where your custom wallpaper lies. Right click your custom wallpaper and choose
Set desktop picture. This will change the wallpaper while also preserving the
Tested on macOS Catalina 10.15.2