У мене дійсно приємна заставка натхненна матрицею. Я хотів би, щоб заставку, що рухається, розмістили як фонове зображення на робочому столі.
Як я можу встановити свою заставку як фонове зображення для робочого столу?
У мене дійсно приємна заставка натхненна матрицею. Я хотів би, щоб заставку, що рухається, розмістили як фонове зображення на робочому столі.
Як я можу встановити свою заставку як фонове зображення для робочого столу?
Відповіді:
Ви повинні відкрити термінал і ввести cd /System/Library/Frameworks/ScreenSaver.framework/Resources
та ./ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background
. Однак знадобиться багато ресурсів, тому, щоб вийти з нього, вам доведеться вийти з вікна терміналу.
джерело: TUAW та Lifehacker
Ви також можете створити пліст-файл, який ви розмістите у вашій папці LaunchAgent користувача.
/Users/username/Library/LaunchAgents/com.username.runscreensaver.plist
Ви ніж завантажувались в терміналі з:
launchctl load /Users/username/Library/LaunchAgents/com.username.runscreensaver.plist
Або вивантажте його:
launchctl unload /Users/username/Library/LaunchAgents/com.username.runscreensaver.plist
Ось вміст цього файлу плістів:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.username.runscreensaver</string>
<key>ProgramArguments</key>
<array>
<string>/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine</string>
<string>-background</string>
</array>
<key>ThrottleInterval</key>
<integer>0</integer>
</dict>
</plist>
На жаль (принаймні під 10.9.5) ScreenSaverEngine встановив рівень вікна неправильним (нижче kCGDesktopWindowLevel), щоб він працював правильно з контролем місії, і пробіли, які призводять до декількох проблем під час перезавантаження, зміни екрана, входу та виходу, що призводить до невидимої заставки.
Щоб виправити це, вам потрібно написати власну заставку, яка успадковує властивості ScreenSaverEngine під час роботи та виправити рівень вікна (наприклад, [self.window setLevel: kCGDesktopWindowLevel];).