The introduction of Mac OS X Leopard brought nifty new functionality in the form of data detectors for Apple’s Mail application. Whether you love ’em or hate ’em, read on for some interesting tips.
For new or inexperienced Mac users, perhaps a little overview of what exactly data detectors are would be a good way to start. In previous versions of Mac OS X, when you received an email message with an invitation or appointment, you would have needed to launch iCal and enter the event manually to keep your schedule straight. The same thing would need to be done when you received someone’s contact information — launch Address Book and create a new contact. In Leopard, however, Mail recognizes when an email’s body text contains an event or contact information.
Data detectors in Mac OS X Mail
Hovering your mouse over the information reveals a dashed border and button with an arrow. Clicking that arrow brings up a menu with the options to add/edit an entry in iCal or Address Book, depending on the type of information it is. Choosing to do so opens a small window that has most of the fields pre-filled with the content contained in the email. Mail is surprisingly smart and accurate at doing this in most cases and it can be a real time saver.
Add a new event to iCal via data detectors
So what are the downsides to data detectors in Mail? A lot of people don’t like how they interfere when you attempt to select certain areas of text. I can understand this frustration — it has happened to me a number of times. While I choose to keep them enabled, others may be interested in learning how to disable Mail’s data detectors. There’s no setting in the application preferences to turn this functionality off, so we’re going to venture into Terminal to get the job done. If you’ve never used Terminal before, you can find it in the Applications folder under Utilities or by searching for it via Spotlight. Once you’ve got it open, copy and paste this code in the Terminal window and press Enter/Return.
defaults write com.apple.mail DisableDataDetectors YES
If Mail is currently open, you will have to quit and relaunch it for the change to take effect. Disabling data detectors using this command isn’t permanent, so you can reverse it at any time by replacing the YES with NO.
defaults write com.apple.mail DisableDataDetectors NO
For those who are a bit more ambitious, you can even use a Terminal command to get data detectors to (kind of) work in iChat. The reason I say kind of is because they tend to randomly start and stop working at any given time. This instability is undoubtedly why Apple has them disabled in iChat by default. Still, if you want to give it a shot for giggles, here’s what you need:
defaults write com.apple.iChat EnableDataDetectors 1
Replacing the 1 with a 0 will reverse the change. I wouldn’t recommend messing with iChat due to the erratic behavior of its data detectors, but nonetheless it might give us a little insight into what Apple has planned for future software updates or versions of Mac OS X. Hopefully they get iChat squared away and bring Safari into the picture to compliment Mail’s useful implementation of the feature.