Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

High Sierra: Wallpaper mode not working #28

Closed
Waitsnake opened this issue Jan 21, 2018 · 3 comments
Closed

High Sierra: Wallpaper mode not working #28

Waitsnake opened this issue Jan 21, 2018 · 3 comments
Labels

Comments

@Waitsnake
Copy link
Owner

Waitsnake commented Jan 21, 2018

I saw on YT a video that shows that the wallpaper mode is not working in High Sierra.

Since I'm still on El Capitan I can't analyze the problem at the moment.

Possible reasons:

  1. I found this forum where the discuss that the LaunchAgent in High Sierra only allows some narrow privileges of the agent file. But I'm not sure if this is really a problem since AnimatedGif don't give any strange file privileges. Anyway it needs to be checked.
    See:
    https://www.apfeltalk.de/community/threads/problem-mit-launchd.521676/

  2. I read that the directory of the screensaver engine has moved! This is definitely a problem of AnimatedGif since the path is used in the launchd script that AnimatedGif creates.
    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
    See:
    https://iscreensaver.com/help/notes/high_sierra/high_sierra.shtml

  3. The command-line parameters to ScreenSaverEngine are broken in 10.13 (Submitted as RDAR 34481351). AnimatedGif can not fix the ScreenSaverEngine.
    See:
    https://iscreensaver.com/help/notes/high_sierra/high_sierra.shtml
    https://www.reddit.com/r/techsupport/comments/7h1526/background_command_broken_macos_highsierra_10131/

@Waitsnake Waitsnake added the bug label Jan 21, 2018
@Waitsnake Waitsnake changed the title Wallpaper mode not working in High Sierra High Sierra: Wallpaper mode not working Jan 23, 2018
@Waitsnake
Copy link
Owner Author

Waitsnake commented Jan 23, 2018

After installing High Sierra on one of my systems I start to experiment on this issues.

If I change the path as described in 2. in the launchd-script and restart the script manually with launchctl the screensaver starts with AnimatedGif. Since I not change any privileges as described in 1. before it proves that 1. is not an reason of the problem, but 2. is a problem.

Unfortunately the screensaver is than drawn in foreground and not in Background as wallpaper. This confirms the issue of 3. witch is a bug in the screensaver engine. Tryout 2. is kind of dangerous experiment since you install a launchd-script witch activates automatic after log-in and starts the screensaver in absolute foreground (bug 3.) and than you see not any window or any other element (!). Only the screensaver is visible! Fortunately the GUI still reacts to mouse and keyboard and I had still a terminal open and could blindly type-in the command to stop the launchd-script. So take care what you are doing.

Waitsnake added a commit that referenced this issue Jan 28, 2018
This is a workaround for issue #28 .
Since background-mode of ScreenSaverEngine is broken since 10.13
(screensaver is now always in an own space in foreground) AnimatedGif
uses the window-mode of ScreenSaverEngine instead and change the window
to a background window afterwards.

This is an initial commit. I need to test this Workaround more for
possible side effects before an official release.
@Waitsnake
Copy link
Owner Author

Waitsnake commented Jan 28, 2018

I analyses the problem further and doing a lot of different tests.

The conclusion is that in Systems before 10.13 the background-mode of ScreenSaverEngine creates an normal window in background but for normal screensaver-mode it uses a own space that is in front of desktop space. Since 10.13 it creates also for the background-mode this own space in front of the desktop space and so the desktop is not longer visible in background-mode.

Fortunately the ScreenSaverEngine also has a window-mode that still works in 10.13 and simply open the screensaver in a normal window on the desktop. The code change the windows properties of this normal-window to look like an background-window.

I add the workaround for issues 2. and 3. with last commit.

Waitsnake added a commit that referenced this issue Jan 28, 2018
- because of the new background method for #28 I was able to remove two
older workarounds
- some spelling corrected
- only kill a running background screensaver when a config value has
changed
- a new release binary
@Waitsnake
Copy link
Owner Author

The new release 1.3.4 is out an issue can be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant