Dashkards, Keyboard Shortcuts on the Dashboard

If you are having trouble remembering the keyboard shortcuts for your favorite Mac OS X applications, check out Dashkards, a nice little pre-rendered bit of HTML that you can add to your dashboard using the little-known dashboard clipping feature. The site supports many popular Mac OS X apps (including Markdown syntax!) and is a great way to earn your “keyboard sensei” merit badge.

MacSparky.com is sponsored by Bee Docs Timeline 3D. Make a timeline presentation with your Mac.

Tweaking OmniFocus: Project Template Applescript

OmniFocus is an amazing tool. I need this app like Smeagol needs his ring. If I don’t do my morning task audit, I get the shakes and start blurting out incoherent rambling about blown deadlines and crashing plates.

One feature missing in my precious however is the ability to create project templates. Everybody has some little group of tasks that gets repeated. For instance, I had a set of tasks that got repeated for each chapter of The Book. So how do I use this unsupported feature in OmniFocus? The answer is Applescript, that ubiquitous tool (that almost nobody uses) that lets you add features and bolt applications together like so many pieces of a digital erector set. In this case, I didn’t even write the script myself. Instead, I downloaded from Curt Clifton’s outstanding collection of OmniFocus scripts. Specifically, I’m using the Populate Template Placeholders script.

The download includes instructions but since so many find Applescript intimidating, I’m going to walk through it.

First a word about Applescript

Applescript is Apple’s own natural language scripting language that lets Macintosh applications hook up. You can tell one application to generate data and then send that data to a different application to lay it out, or print it, or post it to the Internet. It enables you to make your good apps great and your great apps awesome. It takes a little bit of time to figure out. The best way to learn it is to buy Sal’s book.

Regardless, even if you don’t want to learn Applescript, you can still use it. People like Curt develop all sorts of useful scripts and then post them to the Interwebs. You just download, install, and use without knowing a lick of Applescript code. This template script is just such an example. So here is how you go about it with my Mac Power Users show template:

Step 1: Install

Download the script and copy the script file to your script directory, located at:


Most likely you don’t have an OmniFocus directory, so create one.

Step 2: Create

Create a project template in OmniFocus. This is set of tasks the Applescript will copy and populate for every new instance of the project.

Starting out, it looks just like any other project you may create except this one is more generic and includes Placeholders (nerd translation: variables). Placeholders are declared by adding them to the last line of the Notes section of the project description. They get surrounded by guillemets, those double-bracket looking symbols «like this». You can create them on a US keyboard by pressing (Option + \) for « and (Option + Shift + \) for ».

Once declared you can add the Placeholders to your project name and task items. As you can see from the example, I’ve created placeholders for the show name and show number. (If you want to prove your geek cred, open the Applescript and change the Placeholder symbols to something else.)

Step 3: Run

You can run the script from the script menu in your menubar. If you don’t see the script menu, which looks like this …

you can enable it in the preference pane of Applescript editor, an application on every Mac found in the Applications/Utilities folder.

Once you trigger the script, Applescript prompts you for the Placeholder variables …

and creates a new project replacing the Placeholders with your supplied data. Once you’ve got the script installed, setting up new templates projects takes a fraction of the time it did before.

Step 4: Drag

Drag the newly created project to wherever it belongs in your OmniFocus Project list.

Bonus Points

If you want to add start and due dates to templates projects, go nuts. The project itself, however, must have a start or due date in order for it work. Alternatively, if you add a line to the Project Template Note (above the Placeholder line) that reads Due date is, you will be prompted to type in your dates when you run the script. While I like start dates, I’m not a big fan of due dates and prefer adding dates (if any) manually later.

If you like the script, send Curt a thank you note for making this possible.

MacSparky.com is sponsored by Bee Docs Timeline 3D. Make a timeline presentation with your Mac.

Symbolic Link Service

Creating an Alias in Mac OS X is easy. Hold down the Option + Command keys and drag a file to some new location. Just like that you’ve got an Alias, which is, essentially, a pointer to the original file. The truth is, however, I’ve never had much use for Alias files. Symbolic Links, however, are a whole different kettle of fish.

Symbolic links are a feature of HFS+ and UFS file systems. They allow allow multiple references to files and folders without requiring multiple copies of these items. What this means is that you can relocate a library file from some application required location to somewhere else, like Dropbox, and your applications will be none the wiser. I use this trick to keep my Bento (which mandates its data file be located in the Application Support folder) to Dropbox so I can access my Dropbox data from multiple Macs.

The trouble is, creating symbolic links is a pain, requiring several terminal incantations. Not anymore. Mac OSX Hints has an ingenious Service using a bit of bash code to create your own symbolic link service. Check it out.

Using OmniFocus Perspectives

I’ve written and talked a lot about my favorite task management application, OmniFocus, over the years. One of the most frequently asked questions I receive are concerning my perspective settings. In addition to Omni’s built-in perspectives, I’ve rolled a few of my own.


Here is the perspective set up.

This is the perspective I use in the mornings to work through the day. It lists all projects with tasks available. One of the criteria for a task to be available is that it have an available start date. If you have an item marked not to begin until the next day (or next month), it won’t show up in this view. Using the tab key, I can fly through my task list in the morning. If there is a task showing up that I don’t intend to do today, I move the start date forward. You can push it two days by typing “2d” or move it to one week from monday at 2:00 p.m. by typing “1w mon 2pm” or August 7 by typing “8/7.” I get through my entire task list every morning in about 20 minutes. The trick is to be realistic about what you can get done in the day.

Since none of the OmniFocus built-in icons really fit, I extracted the icon file from iCal and imported it in the OmniFocus Perspective icon menu. Here it is.


Here is the perspective set up.

Despite my best intentions, some days things go a bit sideways and my morning task sort goes largely ignored. At the end of those days, I open the Clear perspective that just gives me a list of all of the available tasks without any sort. The advantage of this perspective is the ability to easily select and process multiple items using the OmniFocus Inspector.

Maybe I’ll move a bunch of items to tomorrow. Maybe I’ll send items to next week. If the day was really bad, I may send them all out two days and head to the beach. The point is, when I’m done, my day is clear.

Focussed Perspectives

Even though the word “Focus” is in the name, a lot of people don’t realize you can tell OmniFocus to limit your view to items in a given folder, project, or context. If you have a folder with all your work projects in it, Focus on that folder while at work. You can custom save that view as a perspective so tomorrow you can get there faster.

Finding Your Custom Perspectives

Once you have your custom perspectives you can access them in the Perspectives menu item, assign them keyboard shortcuts in the perspective window, or open the toolbar editor and copy the perspectives into your toolbar.

So there you have it. OmniFocus Perspective bliss. Share your favorites in the comments.

Killing Flash on Your Mac

With all of the talk about Adobe Flash, I’ve become more aware of how it affects my Mac. Ignoring the security risks posed by Flash, the cost of having Whack-a-Mole show up is significant in clock cycles, stability, and battery life. Put simply, I grew tired of the heated Mac, noisy fans, and other tell-tale signs that Flash was having its way with my Mac again. I began looking for solutions.

Because I primarily use Safari, the first weapon in my anti-Flash arsenal is ClicktoFlash. Once installed, ClicktoFlash blocks all incoming Flash animations. When a Flash component tries to load in your browser window, you instead see an empty box with the word “Flash.” If you want Flash to load in that box, you click it once and ClicktoFlash lets it through. If you contextual click it, you can set behaviors, blocking or allowing, on that specific site for the future. It is remarkable how rarely you will find the need to click and let Flash through. ClicktoFlash also strips the Flash out of YouTube.

My second tool for dumping Flash is BashFlash. This menubar application keeps track of how much Flash is hitting your Mac’s processor and, when things get out of control (the app defaults this to 30%), the icon turns red. You can then click on the icon to kill all running Flash.

In the few months I’ve been using ClicktoFlash and BashFlash, my browser stability has dramatically increased. My only regret is not figuring this out sooner.

TextExpander Learns New Tricks

Today TextExpander released a particularly tasty update. For Gmail jockeys, there is now support for rich text and image expansion in web-based tools. I’ve already shown how to do this in Apple Mail.

My favorite new feature allows you designate a portion of your snippet to be selected following expansion. So what does this mean exactly? Well if I create the following snippet…

Your %|(Windows 2000)%\ PC has a virus.

… when you expand it, the term (Windows 2000) will be selected. You can then type in something else, i.e. “Windows XP”, to insert a different name.

Take a look at your existing snippet library. This is really useful. My latest text expansion project is building a library of my most frequent OmniFocus entries (more on this later). The new syntax is going to make this even better.

You can learn more here.

Scrivener Power Tip – Binder Symbols



One of the great features of Scrivener is the binder, in which you can dump research, web pages, pictures, and video. When doing legal research I will often collect case decisions as individual research assets. I like to insert little symbols into the entries to help me remember. An arrow up for a positive case or down arrow for a negative will suffice. This could be used for other writing applications as well. To insert the symbols, activate the Character Viewer in the Language & Text/Input Sources preference pane and you are good to go.