Last active
November 25, 2016 10:37
-
-
Save oschrenk/64b55886f0d1a311a8342d848d299b8c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Notify of Homebrew updates via Notification Center on Mac OS X | |
# | |
# Author: Chris Streeter http://www.chrisstreeter.com | |
# Requires: terminal-notifier. Install with: | |
# brew install terminal-notifier | |
BREW_EXEC='/usr/local/bin/brew' | |
TERMINAL_NOTIFIER=`which terminal-notifier` | |
NOTIF_ARGS="-sender com.apple.Terminal" | |
$BREW_EXEC update 2>&1 > /dev/null | |
outdated=`$BREW_EXEC outdated --quiet` | |
pinned=`$BREW_EXEC list --pinned` | |
# Remove pinned formulae from the list of outdated formulae | |
outdated=`comm -1 -3 <(echo "$pinned") <(echo "$outdated")` | |
if [ -z "$outdated" ] ; then | |
if [ -e $TERMINAL_NOTIFIER ]; then | |
# No updates available | |
$TERMINAL_NOTIFIER $NOTIF_ARGS \ | |
-title "No Homebrew Updates Available" \ | |
-message "No updates available yet for any homebrew packages." | |
fi | |
else | |
# We've got an outdated formula or two | |
# Nofity via Notification Center | |
if [ -e $TERMINAL_NOTIFIER ]; then | |
lc=$((`echo "$outdated" | wc -l`)) | |
outdated=`echo "$outdated" | tail -$lc` | |
message=`echo "$outdated" | head -5` | |
if [ "$outdated" != "$message" ]; then | |
message="Some of the outdated formulae are: | |
$message" | |
else | |
message="The following formulae are outdated: | |
$message" | |
fi | |
# Send to the Nofication Center | |
$TERMINAL_NOTIFIER $NOTIF_ARGS \ | |
-title "Homebrew Update(s) Available" -message "$message" | |
fi | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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>EnableGlobbing</key> | |
<false/> | |
<key>Label</key> | |
<string>homebrew.simonsimcity.update-notifier</string> | |
<key>ProgramArguments</key> | |
<array> | |
<string>/bin/bash</string> | |
<string>/usr/local/bin/homebrew-update-notifier</string> | |
</array> | |
<key>RunAtLoad</key> | |
<true/> | |
<key>StandardErrorPath</key> | |
<string>/tmp/homebrew.simonsimcity.update-notifier.err</string> | |
<key>StandardOutPath</key> | |
<string>/tmp/homebrew.simonsimcity.update-notifier.out</string> | |
<key>StartCalendarInterval</key> | |
<array> | |
<dict> | |
<key>Hour</key> | |
<integer>10</integer> | |
<key>Minute</key> | |
<integer>0</integer> | |
</dict> | |
<dict> | |
<key>Hour</key> | |
<integer>15</integer> | |
<key>Minute</key> | |
<integer>0</integer> | |
</dict> | |
</array> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment