How to set a custom dynamic wallpaper in Catalina?
I tried to set a custom dynamic wallpaper in Catalina as I used to do in Mojave (that worked fine) but my dynamic wallpaper will display the following option as you can see the picture (bugged).
and when I want to change it the "Dynamic" option it's no there!
I tried to find the path of the dynamic default wallpapers and I couldn't paste the ".heic" files where catalina's wallpaper is. I also tried to set a default dynamic wallpaper first and in dynamic mode and then I switch to the custom one and didn't work.
Did dynamic wallpapers format changed in Catalina OS?
How can I set a custom wallpaper in Catalina?
link to the custom wallpaper
Solution 1:
Copy your .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.
Solution 2:
There are 4 solutions to this problem.
-
Easiest
- 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
System/Library/Desktop Pictures/
- disable SIP
- reboot
- 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
-
Hardcore
- use Xcode: attach to process
com.apple.preference.desktopscreeneffect.desktop.remoteservice
and Debug view hierarchy - find the incorrect popup button address
- pause program execution
- run command
[0xaddress setHidden:YES]
- resume program execution
- modify wallpaper selection to Dynamic
- use Xcode: attach to process
Explanation:
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 >
Solution 3:
What worked for me on Catalina 10.15.7 was to simply create a Desktop Pictures
folder in the root Library
folder at the same path, rather than trying to modify System/Library
. In other words, instead of /System/Library/Desktop\ Pictures
which is restricted, place your custom pictures at /Library/Desktop\ Pictures
, and you should find they show up correctly in the control panel.
Solution 4:
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:
Go to
sys prefs > desktop & screen saver
and 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 thedynamic
setting.
Tested on macOS Catalina 10.15.2