Today

Download Today.lbaction (powered by DownGit)

Action that displays calendar events from today (and optionally beyond) directly within LaunchBar. Allows you to see and take actions with those events:

  • Dial With iPhone
  • Display in Large Type
  • Open in Maps
  • Open Event URL

Uses the command line iCalBuddy program to access your calendar information. Make sure you have icalBuddy installed before running this action. Supports all command line options of icalBuddy via this action’s preferences file.

This action uses Moment JS for date and time handling. Date and time formatting can be overridden in this action’s preferences file. See keys momentJs*. Each corresponds to a moment.format() pattern.

Hold down the ⌥ key when running the action to get additional debugging information returned

Parsing event information can be very locale and personally specific. Therefore this action allows you to implement your own javascript parsing of the event information. After running this action the first time create plugin.js in ~/Library/Application Support/LaunchBar/Action Support/com.renaghan.launchbar.Today folder. In that file implement at least the pluginParse(event) method that takes the event data as input and returns the filtered/parsed event.

// Example plugin.js
var DUH_WORDS = /\b(call|meeting|conference)\b/gi;
var MULTIPLE_SPACE = /\s+/g;

function pluginParse(event) {
  // filter out events that start with --
  if (event.name.indexOf('--') == 0)
    return null;
  
  // remove word cruft from event name
  event.name = event.name.replace(DUH_WORDS,"");
  event.name = event.name.replace(MULTIPLE_SPACE, " ");
  
  // do built in parsing
  return parse(event);
}

Once you have the plugin.js written, add a relative file path pluginFile key to this action’s preferences file. Note: this must be a relative path due to the behavior of the LaunchBar include method.

<key>pluginFile</key>
<string>../../../../Action Support/com.renaghan.launchbar.Today/plugin.js</string>