Context-aware computing for Mac OS X.
© 2006-7 David Symonds
There is a MarcoPolo
discussion group available if you have any problems, questions or comments.
You can also directly email me any
criticism, adoration and comments!
Sadly, I have not had time to maintain MarcoPolo for the last few years,
and it is becoming less functional. For instance, the WiFi evidence source
does not work on Snow Leopard or Lion. Much of it still works, but you
should consider this software as unsupported.
You might like ControlPlane,
which is a maintained fork of MarcoPolo.
What is it?
MarcoPolo brings context-aware computing to your portable Mac computer.
It allows your computer to determine its context through gathering evidence
from your environment (evidence sources), using flexible rule-based
fuzzy matching to make an educated guess (rules), and then
performing arbitrary actions upon changing context (actions).
MarcoPolo's concept of contexts is a generalisation of a location,
and encompasses more than just where your computer is. A context might
represent what you are doing, or what else is going on around you.
MarcoPolo quietly stays in the status bar at the top of your screen
(right-hand side of the menu bar),
from where it can be configured to your own needs.
Flexible rule-based fuzzy matching on:
- Current Audio Output device (headphones/internal speakers)
- Discoverable Bluetooth devices
- Advertised Bonjour (Zeroconf) services
- Attached FireWire devices
- Assigned IP addresses
- Ambient Light level
- Attached Monitors
- Active Network Links
- Power source (power adapter/battery)
- Running Applications
- Current Time Of Day
- Attached USB devices
- Visible WiFi networks
- Actions triggered by changing context (either entering or leaving), with an optional delay:
- Setting your default printer
- Changing your desktop background
- Enable or disable particular firewall rules
- Setting iChat status message
- Setting the default IMAP or SMTP server for Mail.app
- Mounting network shares (smb://, afp://, etc.)
- Muting or Unmuting system audio
- Changing OS X network location
- Opening a file (an application, a document, etc.)
- Quit an application
- Enabling or disabling screen saver password
- Start/stop screen saver
- Changing screen saver idle timeout
- Running a shell script (or any other kind of script, via Platypus)
- Turning on or off Bluetooth
- Turning on or off WiFi (AirPort)
- Establish or disconnect VPN
- A "default context" for when rules don't match
- Growl support
- Stays out of your Dock, in the menu bar at the top of your screen
- Localisation into:
- Danish (da), by Niels Danielsen
- German (de), by Christoph Schmitz
- French (fr), by Pierre Andrews
- Italian (it), by Massimo Peri and Alessandro Calzavara
- Brazilian Portuguese (pt_BR), by Mentor Muniz Neto
Comparison with similar programs
|Detects WiFi (AirPort)
|Detects Ethernet cable
|Uses fuzzy matching
pops up an interface when your computer wakes from sleep, allowing you
to quickly select your preferred network location. It has a simple
automatic location selection mechanism, and a range of actions.
Costs US$25, with a free trial available. Has now stopped development
Location X has
its own location system, separate from the Mac OS X location system.
It does auto-switch based on the wireless network you are currently
connected to, and has an extensive list of actions. It costs $20, with
a free demo available. It hasn't been updated since 2005.
Other related programs that may be useful are
(and another LocationChanger),
Home and Away,
Locations Pro, and
What you need
- Mac OS X 10.4 (Tiger) or later.
There are known issues with Snow Leopard:
There is a patched version contributed by a user that is said to fix the WiFi
problems above; download it from the link in
the discussion group thread.
- WiFi evidence source and ToggleWiFi action do not work
- Bluetooth may not work, or may cause crashes
Bug Reports and Feature Requests
Post to the MarcoPolo discussion group if you have any kind
of question or problem that you think we could help you with.
I strongly recommend against linking directly to the DMG, since I
periodically delete old versions.
(If you're after an old version, get it from the Git repository.)
Safari users: Safari sometimes manages to screw up by adding a
".bz2" extension to the file; remove this extension if it gets added,
and you'll be able to mount it okay.
- Git repository
MarcoPolo is released under the terms of the
(version 3). That means it is free to use, share and modify, as long as you
pass those same permissions along if you redistribute.
Though MarcoPolo is free to use, share and modify, and will remain so,
I welcome donations
to encourage me to keep developing it. I have put a lot of time and effort into
You might also consider buying me something off my
Amazon Wish List. Many thanks to those generous people who have already done this!
David Symonds <email@example.com>