When using desktoppr in a script to manage the wallpaper image and scale independently, two distinct bugs appear:
Bug 1 — Changing the image resets the scale
When updating only the wallpaper image (without touching the scale), the scale changes anyway. The scale appears to be stored per-image rather than as an independent setting.
Shown here: https://github.com/user-attachments/assets/0d2a617b-710b-4a9f-9a6a-119de0019be8
Bug 2 — Scale changes are unreliable
When setting the scale via desktoppr in a script, one of two failure modes occurs:
Steps to reproduce
- Set a wallpaper image (image A) and a specific scale (scale A) via script.
- Set a new wallpaper image (image B) and a new scale (scale B) via script.
- Switch the wallpaper back to image A → observe whether the scale reverts to scale A.
- Switch the wallpaper back to image B → observe whether the scale reverts to scale B.
- Check the applied scale in System Settings and via
desktoppr scale → observe any discrepancy.
Expected behavior
- Image and scale are independent settings; changing one does not affect the other.
- After setting a scale, both macOS and
desktoppr scale consistently reflect the new value.
Suspected cause
An internal database (likely com.apple.desktop.plist or desktoppicture.db) appears to not always flush or sync correctly after programmatic changes, leading to stale or mismatched state between what macOS renders and what desktoppr reads back.
When using
desktopprin a script to manage the wallpaper image and scale independently, two distinct bugs appear:Bug 1 — Changing the image resets the scale
When updating only the wallpaper image (without touching the scale), the scale changes anyway. The scale appears to be stored per-image rather than as an independent setting.
Shown here: https://github.com/user-attachments/assets/0d2a617b-710b-4a9f-9a6a-119de0019be8
Bug 2 — Scale changes are unreliable
When setting the scale via
desktopprin a script, one of two failure modes occurs:desktoppr scalecall returns the wrong (previous) value, shown here:https://github.com/user-attachments/assets/932779a8-a2e2-4876-bde5-3b61b5791b76
Steps to reproduce
desktoppr scale→ observe any discrepancy.Expected behavior
desktoppr scaleconsistently reflect the new value.Suspected cause
An internal database (likely
com.apple.desktop.plistordesktoppicture.db) appears to not always flush or sync correctly after programmatic changes, leading to stale or mismatched state between what macOS renders and whatdesktopprreads back.