June 1, 2011
Launch Mac apps at specific days or times

OS X’s launchd can be used to launch certain apps at a certain time, or certain day and time.

Let’s say that you want to review your calendar every day at 4:00 p.m. I use BusyCal but you can replace it with iCal if you wish:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.luomat.busycal</string>
    <key>ProgramArguments</key>
    <array>
        <string>open</string>
        <string>-a</string>
        <string>BusyCal</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>16</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
</dict>
</plist>

Or if you want to run Tumblr Backup every Monday at 11:35 a.m.:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.luomat.tumblrbackup</string>
    <key>ProgramArguments</key>
    <array>
        <string>open</string>
        <string>-a</string>
        <string>Tumblr Backup</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>11</integer>
        <key>Minute</key>
        <integer>35</integer>
        <key>Weekday</key>
        <integer>1</integer>
    </dict>
</dict>
</plist>

By the way, I highly recommend Lingon ($5, Mac App Store) for making/editing launchd files. put them into ~/Library/LaunchAgents/ and use “launchctl load whatever.the.name.plist”

You can download the two plists mentioned above here:

to use as example files.

(Be sure to remove the .txt from the filenames after you download them.)

  1. luoma posted this
blog comments powered by Disqus