#!/usr/bin/env bash
{ set +x; } 2>/dev/null

usage() {
    echo "usage: $(basename $0)" 1>&2
    [[ $1 == "-h" ]] || [[ $1 == "--help" ]]; exit
}

[[ $1 == "-h" ]] || [[ $1 == "--help" ]] && usage "$@"

[[ $# != 0 ]] && usage "$@"

APP="/System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app"
EXECUTABLE="/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine"

[ -e "$APP" ] && { /usr/bin/open -a "$APP"; exit; }

! [ -e "$EXECUTABLE" ] && echo "ERROR: $EXECUTABLE NOT EXISTS" 1>&2 && exit 1

tmp="$(mktemp).plist" || exit
/usr/libexec/PlistBuddy \
    -c "Add Label string 'ScreenSaver'" \
    -c "Add Program string '$EXECUTABLE'" \
    -c "Add RunAtLoad bool true" "$tmp" 1> /dev/null || exit
/bin/launchctl remove ScreenSaver 2> /dev/null
/bin/launchctl load -w "$tmp"
