What is ControlPlane Exactly?

ControlPlane allows you to build configuration profiles, contexts in ControlPlane lingo, for your Mac based on where you are or what you are doing.  ControlPlane determines where you are or what you are doing based on a number of available evidence sources and then automatically reconfigures your Mac based on your preferences.  Evidence sources can include your current location, visible WiFi networks, attached USB devices, running applications and more.  You can even write your own evidence sources using shell scripts!

With ControlPlane You Can…

Auto-adjust a growing number of things on your Mac system (it isn’t just for laptops) including:

  • Network Profile
  • Launch and quit applications
  • Change Mail preferences
  • Enable or disable the screen saver password
  • Enable or disable your firewall
  • Start a backup
  • Change Time Machine backup destinations when combined with Tedium!
  • Additional actions are detailed on the features page

Where did ControlPlane Come From?

ControlPlane was created using code from version 2.5.1 of the MarcoPolo project still available at http://www.symonds.id.au/marcopolo/.  ControlPlane is a direct port of MarcoPolo and in fact, much of the configuration from MarcoPolo still works with ControlPlane, just better!

ControlPlane supports 32 and 64bit Intel based Macs running Snow Leopard through Lion.


Gaetano Vocca · August 7, 2011 at 5:21 pm

first, I’m very happy you decided to takeover MarcoPolo, it was (and is) a must for me so thank you.
Second, I am not an expert programmer and I would be interested in giving a look at the code and trying to build control plane by myself but, in order to succeed, I am afraid I need some help 🙂
I currently have Xcode 3.2.6 on my macbook, is it the correct version? I see I can download the code from github in form of tar.gz or zip. Once done, what should I do to build?

Believe me, understand this may sound like a waste of time for you and I apologize for that.

My best regards

    ruedu · August 7, 2011 at 11:35 pm

    If you’re using Snow Leopard or Lion you can get Xcode 4 and build it with that. I can’t say for sure if this project will build in anything older than 4. Also know that ControlPlane is meant for Snow Leopard (10.6) or Lion (10.7).

    As for getting the code, I recommend getting the GitHub client for OS X and cloning the code from my github repository at https://github.com/dustinrue/ControlPlane. Instructions on how to do so are located on github’s site.

Eric Knudson · November 5, 2011 at 4:22 am

I just want to second how great this is. I’ve been using sleepwatcher and shell scripts to do something similar, but this looks much more robust and simple. I can’t believe I only found out about this today.

Alf · November 16, 2011 at 6:35 am

Thank you so much for continuing to support this project !

Can you tell me if you have noticed any issues with setting an action to occur when setting up a context that specifies “computer going to sleep”….

basically, I am trying to have an action occur (open script to eject my external hard drive) on sleep.


    ruedu · December 10, 2011 at 3:08 am

    I haven’t noticed any issues with the sleep actions, they always work for me.

tomaso · December 4, 2011 at 2:30 pm

I am really glad to have found you…
I was a MarcoPolo orphan and finally I found your project….

Thank you!

Hannes · February 2, 2012 at 11:39 pm

Hey, just wanted to thank you for this project, it took me a while to find it – it seams to do quite the (conceptually simple) job I needed: turn the macbook’s display brightness off, when I connect my external display, and turn it back on, when I disconnect the external monitor.

Kristian · March 27, 2014 at 11:22 am

Hi! Id like to get the possibility to trigger an action when my Iphone connects to my WIFI router. Like a “im home” check. Possible?

    ruedu · April 9, 2014 at 9:11 pm

    Your iPhone should show up via Bonjour when connected to your local network. Go ahead and use Bonjour and let me know how it goes.