iScreensaver : macOS 10.13 ScreenSaver changes, issues and bugs
Legacy document: iScreensaver 6 provides full support for macOS 10.13 and higher.
Please read about the latest version.
Background | iScreensaver in macOS 10.13 High Sierra | OS and Screensaver bugs in macOS 10.13
Comments? Feedback? Please Join the discussion in the Forum
Last Update: Thursday, 26-Mar-2020 00:23:30 PDT
Background & Summary
In macOS 10.13 (High Sierra) Apple has made a number of changes in several areas: Screensavers, Screen Saver Preferences, Password Protection, Energy Saver and the Lock Screen. This technical note helps document all of these issues, and will be updated as the situation changes.The information here is of specific use to anyone using iScreensaver Designer software, but should also be of general use to those interested in writing, using, or managing Screen Savers or System Security / Lock Screen behavior on macOS 10.13.
Key Points
- If you are only using the stock Apple screensavers in 10.13, and you are not using any third-party apps or custom automator or AppleScript command to manage security, display sleep, or password settings (such as JAMF ) then you probably don't need to worry.
- Screensavers made by other organizations may or may not work in 10.13. We are aware that the BOINC screensaver (which hosts SETI@Home and others) also has issues in 10.13. This issue likely affects other third-party screensavers as well.
- Screensavers built using iScreensaver Designer 5.1.1 or earlier will not function normally on macOS 10.13 High Sierra.
- Authors who need to support 10.13 should upgrade to our latest version, re-build, and re-issue their screensavers.
- At the present time, iScreensaver Designer support in 10.13 is considered "beta" - although screensavers built will the latest version generally work fine in High Sierra some feature differences and issues remain. Because of this Beta status, and because macOS 10.13 is brand new, we recommend using caution. The known and potential issues are detailed below.
- macOS 10.13 makes a number of changes to screen saver function in general, and there are a number of bugs and issues, some impacting security. We encourage anyone using screensavers or managing screensaver and/or lock-screen security on macOS to be cautious about upgrading to 10.13 at this time. See details below.
- macOS 10.13.4 and later now warn about using 32 bit applications (including screensavers). Please see macOS 10.13 High Sierra - 32 vs 64 bit screensavers
iScreensaver and macOS 10.13
Screensavers built with iScreensaver 5.1.1 or earlier will not function properly under macOS 10.13. Although many functions work normally (Installing, Previewing, Setting Preferences, and Uninstalling) when the actual screensaver runs normally, nothing is visible. The user will see only a blank screen. At the present time there is no known workaround for these issues on 10.13 when using screensavers built with iScreensaver 5.1.1 or earlier. Multiple bug reports have been submitted to Apple but we have not received any solutions or assurances of fixes at this time.Interim Solution
iScreensaver Authors who wish to support 10.13 should upgrade to the latest version of iScreensaver Designer, re-build and re-issue their screensavers. This will fix the most serious issues:Download
iScreensaver Designer, the editing and authoring software, works on both Macintosh and Windows PC computers and either version will create screensavers for both platforms.Version 6.9.0.1378 - Released 30 Nov 2024 See Release Notes.
Mac Download iScreensaver Designer 6 for macOS 10.12 to 15 79.8 MB |
Windows Download iScreensaver Designer 6 for Windows 10 (64 bit) or Windows 11 (64 bit) 62.1 MB |
iScreensaver 5.2 features that work in 10.13 High Sierra:
- Screensaver Installation
- Previewing the screensaver from within the Installer
- The screensaver preview from within the System Preferences / Screen Saver preferences pane.
- Setting or changing screensaver preferences
- Screensaver operation
- Screensaver Uninstallation
iScreensaver 5.2 features that do not work, or work differently, in 10.13 High Sierra:
- Security: The "Require password ____ minutes after sleep or screen saver begins" setting is functional when using iScreensaver. The options are (Never, Immediately, 5 seconds, 1 minute, 5 minutes, 15 minutes, 1 hour, 4 hours, 8 hours). However, the "Immediately" setting does not work properly. If you are using this setting, the software will advise you to pick a longer delay.
- Exiting the Screensaver: when you exit the screensaver, and the "Require Password" feature has triggered: if you do not enter your password on the lock screen, then the screen will go dark and the screensaver will not activate again. After you unlock the screen with your password, normal function will resume.
- When the Screen Saver Preferences "Show with Clock" is enabled, the clock will only be visible for a few seconds before it disappears.
- Energy Saver: iScreensavers will dim the screen after the Energy Saver/ Display Sleep time has been reached. However, if Computer Sleep is also enabled, then the time before Computer Sleep will be extended by the Display Sleep time. For example, if Display Sleep is set to 1 hour and Computer sleep is set to 2 hours, then the computer will go to sleep after 3 hours.
Bugs, Issues, and Cautions about Screen Savers and Screensaver Security in macOS 10.13
Even if you are not using iScreensaver software, there are a number of issues related to screensavers, security and the lock screen, and other features in macOS 10.13. Some of these were discovered by us, and for some credit is due elsewhere. We hope this list is a helpful starting point for anyone using, managing, or programming screensavers under macOS 10.13.Note: all issues below are found in the GM release of macOS 10.13 and are independent of and unrelated to iScreensaver software. These are due to bugs or changes made by Apple. The information here has not been provided by or verified by Apple, Inc. and should be used with caution.
ScreenSaverEngine
- the path to ScreenSaverEngine has changed in 10.13.
- macOS 10.12 and earlier:
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
- macOS 10.13:
/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
- macOS 10.12 and earlier:
- the command-line parameters to ScreenSaverEngine are broken in 10.13 (Submitted as RDAR 34481351).
ScreenSaverEngine -debug
should run the screensaver as the desktop but respond to mouse movement. Instead running with the -debug option gives you a blank screen. Upon exiting the screensaver, the screensaver is briefly visible, as it was apparently running behind a blank screensaver window. This is probably related to the Window Layer issues below.ScreenSaverEngine -background
should run the screensaver as the desktop. WARNING Instead, the -background option causes the screensaver to run and it can not be exited. This will require a force-restart of the mac.
Security, Preferences, and Lock Screen Behavior
- Programmatically triggering Lock Screen
- the "Lock Screen" command has been removed from KeyChain.app. Solutions which attempt to trigger the menu command in that App will fail.
- fortunately, a new "Lock Screen" command has been added to the main Apple menu.
you can trigger it via AppleScript as follows:tell application "System Events" keystroke "q" using {control down, command down} end tell
- unfortunately, it has problematic behavior: once you initiate the Lock Screen command, the display will go to sleep after 4 seconds, regardless of your Display Sleep settings in Energy Saver. It appears that the "Lock Screen" feature forces Display Sleep as well. Submitted as RDAR 34498801.
- It's no longer possible to read or write the settings for screen saver start or the password protection lock delay:
-
defaults read com.apple.screensaver askForPassword
anddefaults read com.apple.screensaver askForPasswordDelay
now returnsThe domain/default pair of (com.apple.screensaver, askForPassword) does not exist
-
tell application "System Events" to tell security preferences to get require password to wake
now returnstrue
in all conditions, regardless of the actual setting. This could be considered a security risk, as any software that attempts to audit these settings will be given a false result. (Submitted as RDAR 34431876).
-
- There are serious UI bugs when you try to change the "Require Password after sleep" setting. It's possible to have the checkbox appear to be on, when it in fact is off. (Submitted as RDAR 34449053). To reproduce this issue:
1. Open System Preferences / Security & Privacy / General 2. Turn off "Require Password... after sleep or screen saver begins" ( you will need to authenticate). The checkbox is off. 3. Close System Preferences 4. Open System Preferences / Security & Privacy / General. Verify that the checkbox is still off. 5. Click the checkbox to turn it on. (In 10.12, this takes effect immediately but in 10.13 you are asked to authenticate.) 6. Instead of authenticating, click Cancel. 7. You will get the "Are you sure you want to turn off screen lock" prompt - this is Bug 1: you had just Canceled the operation of turning it On, not Off. 8. Click Cancel. The checkbox is now enabled. (This is bug 2). A person would think that security is enabled (but see below, in fact it is not enabled). 9. Close the window and reopen it. 10. The checkbox is off.
Window Layer Changes
In 10.12 and earlier, the ScreenSaverEngine would display its content in window layer 2002. This meant that other applications could still display content and have it appear above the screensaver, if they needed to. In 10.13 this behavior has changed, and applications are no longer able to display content in front of the screensaver. It is not clear if this is an intentional change on Apple's part, or simply a bug. There is evidence that it may be a bug ( See above for the issues regarding bugs inScreenSaverEngine
when using the -background
flag.) The implication is that any application which needs to alert the user of any information while a screensaver is running, is no longer able to do so. (Submitted as RDAR 34215758, 32665348).
Also note that there has been a longstanding SDK/Documentation bug: NSScreenSaverWindowLevel has always been defined as 1001, but the actual number seems to be 2002. See NSScreensaverWindowLevel and BOINC/macglutfix.m.
Comments? Feedback? Please Join the discussion in the Forum
Legacy Document: iScreensaver 6 provides full support for macOS 10.13 and higher.
Please Read about the latest version