2

I have a really nice Matrix inspired screensaver. I would like to have the moving screensaver to be placed as my Desktop background image.

How can I set my screensaver as a background image for the desktop ?

1

You have to open terminal and type cd /System/Library/Frameworks/ScreenSaver.framework/Resources and ./ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background. It will take a lot of resources though, so to quit it, you have to quit the terminal window.

source: TUAW and Lifehacker

1

You also can create an plist file that you place in your user LaunchAgent folder.

/Users/username/Library/LaunchAgents/com.username.runscreensaver.plist

You than loaded at a terminal with:

launchctl load /Users/username/Library/LaunchAgents/com.username.runscreensaver.plist

Or unload it with:

launchctl unload /Users/username/Library/LaunchAgents/com.username.runscreensaver.plist

Here is the content of this plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.username.runscreensaver</string>
<key>ProgramArguments</key>
<array>
    <string>/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine</string>
    <string>-background</string>
</array>
<key>ThrottleInterval</key>
<integer>0</integer>
</dict>
</plist>

Unfortunately (at least under 10.9.5) the ScreenSaverEngine set the window level wrong (below kCGDesktopWindowLevel) to work correct with mission control and spaces witch leads to a few issues during restart, change screen, login and logout that leads to an invisible screensaver .

To fix this issues you need to write your own screensaver that inherits the properties of ScreenSaverEngine while running and correct the window level (eg. [self.window setLevel:kCGDesktopWindowLevel];).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .