Skip to content

Instantly share code, notes, and snippets.

@kislovskij
Created November 21, 2013 13:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kislovskij/7581293 to your computer and use it in GitHub Desktop.
Save kislovskij/7581293 to your computer and use it in GitHub Desktop.
Installs screensaver depending on screen aspect ratio
#!/bin/sh
cd "$(dirname "$0")"
clear
echo "Installing screensaver ..."
NORMAL_ARCHIVE=files/Mac_Screensaver_QXGA.zip
WIDESCREEN_ARCHIVE=files/Mac_Screensaver_FHD.zip
SCREENSAVER_FILENAME="MyScreensaver.saver"
RESOLUTION=$(system_profiler SPDisplaysDataType | grep Resolution | sed 's/.*Resolution: //' | head -n 1)
WIDTH=$(echo $RESOLUTION | sed 's/ x.*//')
HEIGHT=$(echo $RESOLUTION | sed 's/.* x //')
RATIO=$(echo "scale=2;($WIDTH/$HEIGHT*100)" | bc)
if [ ${RATIO%.*} -gt 150 ]; then
unzip -o $WIDESCREEN_ARCHIVE -d ~/Library/Screen\ Savers/ > /dev/null
else
unzip -o $NORMAL_ARCHIVE -d ~/Library/Screen\ Savers/ > /dev/null
fi
defaults -currentHost write com.apple.screensaver modulePath -string "~/Library/Screen Savers/$SCREENSAVER_FILENAME"
clear
echo "Installing screensaver ... Done."
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment