Change The Slide Duration In Screensaver "Ken Burns" Slideshow

From Nearline Storage
Jump to: navigation, search

A PLIST file editor is required for this. I have Xcode installed from the App Store, so that takes care of it for me. XCode is free, but very large. I'm not sure what alternatives there might be.

As the title says, I am using the "Ken Burns" version of the slideshow for my screensaver on Mountain Lion. I haven't looked at the other slideshow definitions to see how well this process would fit with them.

Here's my process:

  1. Look at the style plist file for the Ken Burns slideshow and notice that is is using the JustASlide effect to handle the slides:
    1. In terminal do:

      sudo open /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/Styles/KenBurns.mrbStyle/Contents/Resources/StyleDescription.plist

      or you can use Finder to navigate to that file and open it.

    2. Navigate down the properties tree to interstitialEffects/backgroundEffect where you'll find the JustASlide/Default style specified. We're going to go change a setting inside the definition for that effect.
  2. Change the permissions on the effects definition plist file and its folder so that we can edit it. In terminal do:

    sudo chmod 647 /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/EffectDescriptions.plist

    sudo chmod 757 /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content

  3. Open the plist file for editing

    sudo open /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/EffectDescriptions.plist

  4. Navigate down the properties tree to JustASlide/mainDuration
  5. Change the mainDuration property's value from 3 to whatever number of seconds you want your pictures to display before they're changed.
    Note: Someone reported that the name of the property changed to recommendedEffectDuration with the release of OS X Mavericks. I cannot confirm that. When I upgraded to Mavericks the property name did not change. Maybe if you're on a fresh install of Mavericks ...
  6. Save your changes and quit.
  7. Set the file and directory permissions back the way that they were before you started. In terminal do

    sudo chmod 644 /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/EffectDescriptions.plist

    sudo chmod 755 /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content

You'll be able to see the effect of this change in the screensaver preview as well as when it actually runs.