Skip to content
YaxinChengPublic

About

Snoopy Screensaver for macOS

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Latest commit

 

History

41 Commits

Folders and files

Repository files navigation

Snoopy

Snoopy screensaver from tvOS for macOS.

Features

  • SwiftUI built
  • Support all animations from tvOS with masks during transitions

Download Prebuilt Versions

Download from the releases, and double click to install.

Requirements

  • macOS Sonoma (14.0) and above

Screensaver can't be opened?

Setting the screensaver and showing only black screen may be related to this issue. After unlocking from the black screen, it may show an alert like

Screensaver can’t be opened because Apple cannot check it for malicious software

Here is what you can do to solve it:

Option 1. Run xattr in terminal

Open Terminal, then run

xattr -dr com.apple.quarantine ~/Downloads/Snoopy.saver ~/Library/Screen\ Savers/Snoopy.saver 2>/dev/null; pkill legacyScreenSaver

to allow the screensaver to be run.

Option 2. Manual

  • Open System Settings
  • Go to Privacy & Security
  • Scroll down to the bottom and click allow Snoopy.saver to open anyway
  • Go back to Screen Saver in System Settings, and select Snoopy as the screensaver
  • Click on "Open Anyway" when the alert pops up again
  • [Optional] You may need to kill legacyScreensaver process using pkill legacyScreensaver in terminal if it still shows a black screen

DIY (Develop It Yourself)

Prerequisites:

  • Xcode
  • Swift 6 or above
  • [Optioanl] tvOS Simulator (if you don't already have the video & image resource files)

Get Resource Files

This project relies on the resource files from the tvOS. Please copy the resource files into the existing Resources folder at the project root level (Snoopy/Resources). All the files (.mov and .heic) should be directly in the Resources folder without any subfolder existing.

Full Resources

The complete resource files are around 7GB in total. They are dumped from ipsw files for Apple TV 4K. I have not went through the process of doing so, but AI helped me find some existing resources dumped by other developers. You can download the full list from this Google Drive.

Simulator Resources

Warning: Resources obtained from tvOS simulator is only a subset of the full resources! It works, but you will not see some animations.

You can follow the instruction to fetch resource files from a tvOS simulator.

A simplified version on how to do it is:

  • find simulator path through xcrun simctl runtime list -v.
    • it will show a few paths, then you should go to the one ending with .simruntime.
  • cd into the simulator path. E.g. cd '/private/var/run/com.apple.security.cryptexd/mnt/com.apple.AppleTVOS.SimulatorRuntime-v24.10.360.0.qFF4AQ/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS 27.0.simruntime'.
    • The path may be different given the version exists in the path
  • copy the resource files. sudo find -E . -regex ".*/[0-9]{3}.*\.(mov|heic)" -exec cp {} ~/Developer/Snoopy/Resources \;
  • remove unused files (not sure why the same masks are represented in both mov and heic, so this project just uses the heic version)
    • rm Resources/*Mask*.mov
    • rm Resources/*Outline*.mov

Compile

  1. Download the code
  2. Open the project with Xcode
  3. Build the Snoopy target
    • The output file can be found at ~/Library/Developer/Xcode/DerivedData/Snoopy-<SOME_HASH>/Build/Products/Release/Snoopy.saver

Demo

video video video screenshot screenshot screenshot screenshot screenshot

About

Snoopy Screensaver for macOS

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages