I would like to know if I am the only one seeing this, but since upgrading to Sonoma, I can no longer control screen savers with AppleScript or Terminal.
This used to work:
tell application "System Events"
start current screen saver
end tell
and now has no effect. Moreover, this used to work:
tell application "System Events"
set current screen saver to screen saver "Drift"
end tell
and now results in this error:
System Events got an error: Can’t set screen saver “Drift” to screen saver “Drift”.
If I try to set it to a third-party screensaver:
tell application "System Events"
set current screen saver to screen saver "Hexadrop"
end tell
…it fails silently, without any error. (Hexadrop is one of the savers in the wonderful XScreenSaver.)
Is anyone else able to replicate any of this? I need a sanity check before I submit feedback to Apple.
By the way, I have also tried using defaults write in Terminal:
defaults -currentHost write com.apple.screensaver moduleDict -dict moduleName -string 'Hexadrop' path -string '/System/Library/Screen Savers/Hexadrop.saver' type 0
and then
killall cfprefsd
and that used to work, too, and no longer works for me. The plist changes, but it has no effect whatsoever on which screen saver actually runs.
OK, don’t laugh. Or go ahead and laugh since I can’t hear you over the internet! I am a hoarder of pretty things and a control freak. I have a small apartment, and I hang out in the living room with my iMac. I have no TV. I have lots of screen savers, mostly from XScreenSaver. I want to rotate through them on a daily basis so I can enjoy them all! (I don’t like the built-in Random saver because I can’t omit system savers I don’t like; there used to be a third party RandomExtra for this but it doesn’t work on Apple Silicon Macs.) I was using AppleScript and a Launch Agent to do this. I just figured it all out a few months ago and was loving it, and then Sonoma broke it. I always want to run the latest macOS so no way will I downgrade. So, I submitted Apple Feedback, sigh, and will hope for the best.
Meanwhile I will try some…gasp…GUI scripting!
Plus, I have not learned JavaScript, but I adore even the process of struggling and hopefully succeeding with AppleScript. I find it addictive.
That’s my story, morning glory! Hope you’re not sorry you asked!
Reading current screen saver has been dodgy for years (frequently returning screen saver "").
But in Sonoma, it appears then
tell app "System Events" to screen savers
returns only two on my Mac (Random and FloatingMessage), and neither of them appear to want to honour the start message.
Definitely worth reporting to Apple, though given the bugs in reading screen savers has been around for several versions I don’t know how much of a priority this will be.