hasseg.org

Opening a Bunch of Stuff at Once on Your Mac

Filed under Mac

LaunchList application icon Every day when I come to work, I have a bunch of applications, files and web pages I need to open in order to get started. These are almost always the same, though with a little variation (for example, sometimes if I need to do something that requires a lot of concentration I might want to leave Adium, my instant messenger app, closed.) Now, let's face it -- opening a bunch of applications, files and web pages is not a lot of work: you just clickety-click on several icons on your Dock or Desktop, then switch to your web browser (after it's loaded, of course) and click on some bookmarks in your bookmark bar or menu. But the problem is that I'm lazy and I hate having to do any repetitive work.

The answer, of course, is automating this process, which is very easy. You could do it with a shell script and the open command. You could do it with AppleScript. You could write an Automator workflow. You could train a monkey to do it for you. All of these are quick and easy to set up, copy (when you want to create new "launchers" for a different set of items) and modify (with the exception of the monkey, of course,) but what is a little bit more difficult is to make it possible to pick and choose at invocation time which items in the list you actually want to launch, without permanently modifying the list (so for example, if I want to launch my usual list of "work" items, but this time not the IM client, while still keeping the IM client as part of the permanent list.) This was a feature I really wanted to have, so a simple script wouldn't suffice.

What I decided to do was to create an application bundle that would store the "launch list" in a file within itself (i.e. in its "Resources" folder) so that you could make copies of this application and each one would have their own list. I would also make it possible to edit this list and launch the items via simple GUI windows. This approach would allow me to display checkboxes next to each item so that the user could easily uncheck anything they didn't want to launch at that time. The first version of this application, which I implemented with Python, Platypus and Pashua, looked like this:

Screenshot of old LaunchList version

This worked very well -- I could just create copies of this application and give each of them their own names and lists of items to launch very quickly and easily through this simple GUI. And most important: when using any of these launchers, I could quickly uncheck anything I didn't want to launch before pressing return. But of course, being the perfectionist I am, and wanting a new idea for a small Cocoa project (so that I could teach myself a little bit more Objective-C,) I recently re-implemented the whole thing as a native OS X application. So this is what it looks like now:

Screenshot of the new LaunchList version

I call this new version LaunchList. It's faster, it looks nicer (see the icons? I like icons.) and it is a lot easier to use. You can use the buttons or menus in the GUI as well as keyboard shortcuts for adding, removing and reordering items, and the application tries to automatically figure out if what you typed in is an application, a file or a web address, and display an appropriate icon (or Quick Look preview.) You can also drag and drop applications, files, folders and web addresses to the main window in order to add them to the list, and have the launcher remember its size and position for the next time you use it.

I have a separate page up for the application, where you can download the latest version and check out the changelog.

5 Comments

Alan February 21, 2009 at 4:40 AM

Why not just set the apps to launch on login. Via System Prefs>Account>Login Itmes.

It’s already built in.

Ali Rantakari February 21, 2009 at 4:04 PM

Hi Alan,

Because I don’t want them to open every time I log in. Sometimes I might want to launch only some of them and sometimes none of them. And I have these “launchers” for a couple of different sets of items (like “iCal+iSync+Address Book” and “jEdit+XCode+iTerm”) so that I could quickly and easily launch items related to a particular task.

Dan February 27, 2009 at 4:27 AM

Missing two things…

You press power… you walk away….

  • You here a sound letting you know you launch app is open and ready to go (custom sound from Star Trek or other)

  • You ignore it and after 15 seconds it auto launches your last start up list OR

  • You make it back and turn on/off a few things then click Launch!

Now that’s handy!

archlever.blogspot.com/ October 11, 2011 at 10:43 AM

Awesome! This has actually been a pet peeve of mine for some time; I use a bunch of shell scripts now, but maintenance is a pain and on-the-fly changes just don’t happen. A RubyCocoa app to do this right had worked its way up to third on my “when I get time” list; now scratched.

Thanks for posting this!

Hubert Sainte-Force October 12, 2012 at 12:21 PM

As I have been facing the same problem several times, I used another approach to get the same results. I made a tiny application that can register with folders having the “.multiplexer” extension. So to make a list of things to launch, I just create a “My bunch of things.multiplexer” folder in the Finder, put my things in (or aliases to my things), and that’s it: when I want to launch my bunch of things, I just double-click “My bunch of things.multiplexer”. More details here.

Categories