This is a bash script that will automatically turn your wifi off if you connect your computer to an ethernet connection and turn wifi back on when you unplug your ethernet cable/adapter. If you decide to turn wifi on for whatever reason, it will remember that choice. This was improvised from this mac hint to work with Yosemite, and without hard-coding the adapter names. It's supposed to support growl, but I didn't check that part. I did, however, add OSX notification center support. Feel free to fork and fix any issues you encounter.
Most the credit for these changes go to Dave Holland.
- Mac OSX 10+
- Administrator privileges
- Copy bash file to Scripts
sudo cp toggleAirport.sh /Library/Scripts/ - Change toggleAirport.sh file permissions
chmod 755 /Library/Scripts/toggleAirport.sh - Copy plist to LaunchAgents
cp com.mine.toggleairport.plist /Library/LaunchAgents/ - Change Launch Agent file permissions
chmod 600 /Library/LaunchAgents/com.mine.toggleairport.plist - Find UID
id -u - Start watcher service
sudo launchctl bootstrap gui/??? /Library/LaunchAgents/com.mine.toggleairport.plist
- Stop watcher service
sudo launchctl bootout gui/??? /Library/LaunchAgents/com.mine.toggleairport.plist - Delete
rm /Library/Scripts/toggleAirport.sh - Delete
rm /Library/LaunchAgents/com.mine.toggleairport.plist - Delete
rm /private/var/tmp/prev_eth_on - Delete
rm /private/var/tmp/prev_air_on
To debug, just run: sudo /Library/Scripts/toggleAirport.sh and add echo's wherever you'd like