Feb 18, '13 07:30:00AM • Contributed by: magnamous
I found the method on this page from CNET, the author of which apparently found it here. In 10.8, no matter how I tried altering the permissions of the relevant file and folder in the Finder or "unlocking" the file (as XCode refers to it), I could not get XCode (or TextWrangler) to write to the file, so I had to alter the CNET instructions a bit. (Side rant: I feel justified in refusing to resort to the terminal for a simple permissions change, a capability that has supposedly existed in the Finder for 9 major iterations of OS X.) Do the following:
- Navigate to this folder in the Finder and find the file called "EffectDescriptions.plist":
- Option-drag the file to create a duplicate copy and rename it "EffectDescriptions.original.plist" (just in case). Authenticate when asked.
- Drag "EffectDescriptions.plist" to the desktop (it will copy).
- Open the desktop copy in XCode, TextWrangler, or your preferred text editor.
- Hit Command-F to search for the entry called "JustASlide" (this works in XCode and TextWrangler).
- Find the sub-entry called "mainDuration." Change its numerical value from 3 to whatever value you prefer (in seconds).
- Save the file, close it, and drag it back into the folder you copied it from. It will ask you to authenticate, and then whether to replace the file. Do both. (You did do step 2, right?)
- In Terminal, type:
This will set the permissions of the file as they were before.
sudo chown root /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/EffectDescriptions.plist
- Go to System Preferences and confirm with a slideshow preview that your change was effective.
As I said earlier, this is an ugly way to accomplish what should be a very simple preference setting, so if anyone knows of a more elegant solution, please share. I toyed with the idea of having a separate screensaver file in my own Library folder, but I wasn't able to determine whether that would work. Given that we're altering this setting in a private framework, it seems to me that it wouldn't.