Screen Saver

RSS for tag

Animate screen savers and interact with the screen saver infrastructure using Screen Saver.

Screen Saver Documentation

Posts under Screen Saver tag

6 Posts
Sort by:
Post not yet marked as solved
5 Replies
955 Views
I've run into a really weird bug with a macOS screen saver I've been developing using the ScreenSaver framework. It works fine on Ventura, but on Sonoma, when the user dismisses the screensaver, it continues to animate invisibly in the background using up CPU and GPU cycles. Even worse, when the user activates the screensaver a second time, yet another copy appears to be created, and so on. The call to stop animating is also never sent to the view, as far as I can tell. I logged this as FB13041503 already, but I'm trying to come up with a workaround now, since this is still happening in the release version of macOS 14.0. Any ideas how I can detect that the screensaver has been dismissed, so I can minimise my resource usage? I've even tried watching for things like NSWindowDidChangeOcclusionStateNotification but nothing seems to get called that I can use.
Posted Last updated
.
Post marked as solved
1 Replies
322 Views
Hi all, I've been playing around with making a screen saver using ScreenSaver.framework and having issues with (what appears to be) macOS caching the previous version of the screensaver until I reboot. I have written a screen saver that works, however if I make some changes to the code, re-archive and reinstall the newly compiled screen saver still presents the old screen saver. I've tried incrementing the build number to no avail. Does anyone have a solution to this? My workflow :- Uninstall and delete all instances of my screen saver. Reboot Open Xcode, compile, re-archive my screen saver. Double-click the archived screen-saver, click to install for this user. Test screensaver -- success! Now, Delete the screensaver by right-click on screensaver in System Settings, "Delete " Make changes to my code, rearchive. Double-click the archived screen-saver, click to install for this user. Test screensaver -- fail! Still shows the old version of the screensaver. Reboot machine Test screensaver -- success! Screensaver now shows the changes I made. Many thanks all.
Posted
by dagronf.
Last updated
.
Post not yet marked as solved
3 Replies
786 Views
The BOINC installer asks the user if they would like to set BOINC as their screensaver. If they answer yes, it sets it for them. Both of the following methods work under Ventura and earlier, but no longer work under MacOS 14.0 Sonoma. Applescript: tell application "System Events" to set current screen saver to screen saver "BOINCSaver" Shell script: defaults -currentHost write com.apple.screensaver moduleDict -dict moduleName "BOINCSaver" path "/Library/Screen Savers/BOINCSaver.saver" type 0 The defaults method also worked under Ventura and earlier by passing the corresponding CFMutableDictionaryRef to CFPreferencesSetValue. What is the way to set a screensaver for all spaces and displays under Sonoma?
Posted Last updated
.
Post not yet marked as solved
2 Replies
1.3k Views
Hey @eskimo or anybody who can help, we are on 14.0 beta 7 and screensaver bugs with Sonoma are still happening. In this case the bug shows up one or more monitors, for screensavers that use WKWebView internally. The WKWebView will render HTML and JavaScript, but only partially: video tags don't play unless you goose them with a hack JavaScript SetAnimationFrame() fails JavaScript SetInterval() only fires about once per second These issues affect many third-party screensavers which internally use a HTML/CSS/Javascipt engine. reported as FB13094564 There are a bunch of other legacyScreenSaver issues with Sonoma that aren't WebKit-related as well, but most of those we have been able to find workarounds for. Thanks!
Posted
by XMI.
Last updated
.
Post not yet marked as solved
5 Replies
1.9k Views
Hey @eskmio or anybody who can help, we are on 13.3 RC and this multimonitor screensaver bug is still happening. It's affecting most (but not all) screensavers when run on a 2+ monitor system. Relevant discussions: https://forums.macrumors.com/threads/macos-13-3-rc-bug-fixes-changes-and-more.2384357/post-32056536 https://forums.macrumors.com/threads/multimonitor-screensaver-bug-in-ventura-13-3.2384444/ https://iscreensaver.com/forum/discussion/568/ventura-13-3-beta-bug-with-multimonitor-screensavers https://github.com/JohnCoates/Aerial/issues/1286
Posted
by XMI.
Last updated
.