How do I adjust the display duration of images used in the Mojave screensaver?

1 Answer 1

  1. You'll need to disable System Integrity Protection first(see here)(only need to do it temporarily)
  2. Open Finder and hit -Shift-G to open the "Go to..." window.
  3. Paste in /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content and hit "Go".
  4. When changing system files, it's always a good idea to have a backup, so make a copy of the file EffectDescriptions.plist before editing it.
  5. Open EffectDescriptions.plist in a text editor of your choice.
  6. (Use -F to find it faster) find the key entry JustASlide, then find the child entry mainDuration below it.
  7. The default entry should be 3, and you can change this value to whatever you want.
  8. Save the file(you may need to provide your username & password because it's a system file).
  9. IMPORTANT: Enable SIP again by following the same steps to disable it, except instead of typing csrutil disable, type csrutil enable.

If you are unable to open/save the file after disabling SIP, try opening the application from the terminal using sudo(ex for TextEdit: sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit)

  • @abd I replaces first entry of "mainDuration" to "10" and I got a black screen instead of screen saver slide show. Did I do something wrong? There was no mainDuration entry with value followed Mar 6, 2020 at 10:53
  • the first entry of mainDuration is used in some kind of formula and used as variable. @ABCDEFGHGJKPQGQSde_needsRandomSeed[orientation_needsPanoInformationYclassNameWpresets]effectVersion_phaseInDurationZisNative3D_phaseOutDuration^imageInputInfo\mainDuration]numberOfTexts There is no mainDuration followed by integer in a whole file. Mar 6, 2020 at 11:06

You must log in to answer this question.

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