How to Run an AppleScript When Switching to Mains Power

You can use Power Manager to trigger an event whenever your Mac laptop is connected to mains power.

Previously we covered how to run an AppleScript when switching to battery power. This recipe deals with the opposite situation, where your MacBook or MacBook Pro has its power adapter plugged back in.

For this example, we are going to run an AppleScript to ask iTunes to check for new podcasts. You could use this trigger to perform an action or sequence of actions, for example launching an application or running a shell script.

Create the Mains Power Triggered Event

  1. Launch AppleScript Editor: Applications > Utilities > AppleScript Editor.
  2. Copy and paste the following AppleScript into a new document:
    -- The AppleScript to run when mains power is connected
    set myScriptContents to "#!/usr/bin/osascript
    
    tell application \"iTunes\" to updateAllPodcasts
    "
    
    tell application "Power Manager Scripting"
    
    	tell workshop
    
    		set myEvent to make new event with properties {trigger ID:"myBatteryEvent", name:"Run script on switch to mains"}
    
    		-- Create a power source trigger
    		make new trigger power state at front of triggers of myEvent with properties {now:ac power}
    
    		-- Create an external inline script to store the AppleScript
    		set myExternal to make new external inline with properties {inline:myScriptContents}
    		set myAction to make new action execute external at front of actions of myEvent with properties {external:myApplication,proceed:on exit}
    
    	end tell
    
    	-- Deploy the event
    	tell Event Store to store these events myEvent
    
    	-- Clean up
    	tell the workshop to empty
    
    end tell

    AppleScript to create a mains power triggered Power Manager event.

    AppleScript to create a mains power triggered Power Manager event.

  3. Save the script: File > Save.
  4. Run the script: Script > Run.

When run, this AppleScript will create a new event in Power Manager. The new event contains one trigger and one action. The trigger tells Power Manager to trigger the event when any power source’s state changes to “ac power”.

Power Manager showing a mains power triggered event.

Power Manager showing a mains power triggered event.

The new event’s action tells Power Manager to run the script in the front most user’s session. If no-one is logged in, the AppleScript will not be performed. This is the ideal behaviour for this AppleScript.

Trigger the event manually from the Power Manager menu bar item.

Trigger the event manually from the Power Manager menu bar item.

You can try this event immediately. Thanks to the event’s on-demand behaviour, the event can be triggered through Power Manager’s status menu bar, or via Power Manager Remote on your iOS device.

This recipe requires Power Manager. Download Power Manager for 30 days for free.

Related Posts

  1. How to Run an AppleScript When Switching to Battery Power
  2. How to Run an AppleScript On Wake Up
  3. How to Schedule an AppleScript on Mac OS X
  4. How to Schedule Your Mac to Wake Up with AppleScript
  5. How to Shut Down Your Mac Using AppleScript
This entry was posted in AppleScript, Energy saving, PM4, PMR, Power Manager, Recipe and tagged , , , , . Bookmark the permalink.

Comments are closed.