Change Apple iMac screensaver duration

From Is-beer-a-vegetable.com
Jump to: navigation, search

Change Apple iMac screensaver duration

Screenshot, enlarge for details

The time period between slides on the screensaver for an Apple iMac Mavericks OSX 10 cannot be changed from system preferences, you have to grub about under the bonnet (hood) to do this.

I've found the delay is far too short and increased it to 10 seconds. I've Googled for this and not found any solutions that worked, so went digging about; this is what I found.

Prerequisites

  • Basic Knowledge of Unix
  • Xcode developers kit installed (free, but large)
  • Terminal
  • Superuser password
  • Common sense

I'm assuming that you have a grasp of Unix and it's powers and dangers. If you don't, walk away now.

Remember, a restart will be required to see your changes

I found that any changes made to StyleDescription.plist have no effect until the system is completely restarted. This makes experimentation tedious.

Increase the slideshow duration time

  1. Open Terminal
  2. MAKE A BACKUP OF StyleDescription.plist - call it StyleDescription.plist.orig
  3. sudo cp /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/Styles/KenBurns.mrbStyle/Contents/Resources/StyleDescription.plist /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/Styles/KenBurns.mrbStyle/Contents/Resources/StyleDescription.plist.orig
  4. Check the backup exists!
  5. Change the permissions of StyleDescription.plist and it enclosing directory from 755 to 777 in order to make the edit (sudo chmod 777 full filepath)
  6. Using Xcode, open /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/Styles/KenBurns.mrbStyle/Contents/Resources/StyleDescription.plist for editing
  7. Expand the layout 'arrow' then expose the background 'arrow' (see screenshot)
  8. Double click on the value by recommendedEffectDuration (was 5 on my system) and change it to 10. I found this to be long enough
  9. The changes you make are saved the moment you make the edit, providing the file permissions allow this
  10. Change the file and directory permissions back to 755 (sudo chmod 755 full filepath)
  11. Restart the system in order to activate the duration change
  12. Run the slideshow to see that your changes have worked

Ken Burns and screensaver effects

The change I've made is for the Ken Burns effect. To apply the effect to any other screensaver effect, you'll need to modify StyleDescription.plist in the relevant slide-show effect directory.