Search code examples
cocoamacosscreensaverwallpaper

How to set desktop wallpaper and screen-saver?


How to set desktop wallpaper and screen-saver from cocoa app?


Solution

  • If you're on Mac OS X 10.6, NSWorkspace has some new methods for setting the desktop picture. The one you want is setDesktopImageURL:forScreen:options:error:.

    As for screen saver, there's no supported way to do this programatically. You could modify the com.apple.screensaver plist file and set the following keys:

    • moduleName <-- screen saver name
    • idleTime <-- interval in seconds
    • modulePath <-- path to screen saver file

    However, this could break at any time so I would not rely on it.