ControlPlane supports multiple contexts where a context is defined as a location or activity you are performing.  Using evidence sources you can create a set of rules that tell ControlPlane what context to apply to your environment.  When ControlPlane enters or leaves a context a set of Actions are performed.

Evidence Sources
ControlPlane supports a number of evidence sources including:

  • Currently Active Application
  • Current Audio Output destination (speakers or headphones)
  • Connected Power Adapter (based on serial number of the adapter)
  • Connected bluetooth devices
  • Bonjour
  • CoreLocation, OS X’s location services for locating you
  • Connected FireWire devices
  • Current IP address
  • Light sensor
  • Connected Monitor
  • State of the network link, connected or disconnected
  • Current power source
  • Running applications
  • Shell Scripts, write your own evidence source!
  • Sleep/Wake, run actions when your Mac goes to sleep returns from it
  • Connected USB devices
  • WiFi, either networks within range or based on the network you are currently connected to.

Using the evidence sources above you create a set of rules.  These rules are used to decide what context to move to, if any.  If the context cannot be determined you can tell ControlPlane to move to a default context.

ControlPlane includes a number of built in actions that it can perform on your Mac but using AppleScript, shell scripts and your imagination you can do virtually anything.  Here is a list of the actions built right into ControlPlane

  • Change the default printer
  • Change your default browser
  • Change the desktop background
  • Change the display brightness
  • Change your iChat status
  • Play an iTunes playlist
  • Lock or Unlock your keychain
  • Change IMAP server in
  • Change outgoing server in
  • Change how often checks for email
  • Mount/Unmount external and network drives
  • Change OS X’s built in Network Location in order to change network preferences.
  • Open a web page
  • Open any file, including starting Applications
  • Enable/Disable the screensaver password
  • Start the screensaver
  • Change the time before the screensaver starts
  • Run a script, such as AppleScript or shell script
  • Speak any text
  • Start a Time Machine backup
  • Change Time Machine backup destination (when combined with Tedium)
  • Enable/Disable Firewall
  • Enable/Disable Internet Sharing
  • Enable/Disable Web Sharing
  • Enable/Disable Notification Center (Mountain Lion only)
  • Enable/Disable FTP and TFTP sharing
  • Enable/Disable AFP, SMB or both
  • Enable/Disable Remote Login (ssh)
  • Enable/Disable Time Machine
  • Enable/Disable Bluetooth
  • Enable/Disable ‘Context is Sticky’ option
  • Enable/Disable WiFi
  • Start or stop a VPN connection


Chris Green · November 4, 2011 at 4:04 am

I love the work you have done so far. I’ve been thinking of and looking for an application like this. But, I feel you could make it even better by taking a step further with the actions. I am using this application as a WORK mac theme essentially. If it could block me from accessing, skype, msn, a certain web browser with all my bookmarks, or even better limit certain websites then I would definitely get some work done!

keep me posted.

Timo Sand · November 21, 2011 at 7:36 am

Hey, I read that I could lock my Mac when my phone was out of BT range. Can I accomplish this any other way than having an extra context which to switch to?
And can I unlock it when Iäm in range again?

Are contexts equal to locations?

    ruedu · December 10, 2011 at 3:08 am

    This was supposed to work in 1.1.0 but I introduced a new bug in the Bluetooth system that can prevent it from working. Look for a fix in 1.1.1 and give it a shot!