Replacing OpenGrowlPrefPane with a modified version of OpenAppWithoutAddingToRecents that uses Launch Services.
1 int main (int argc, char **argv) {
2 int status = EXIT_SUCCESS;
4 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
7 NSLog(@"%s invoked with no arguments", argv[0]);
11 NSString *appPath = [NSString stringWithUTF8String:argv[1]];
13 struct LSLaunchURLSpec URLSpec = {
15 .itemURLs = (CFArrayRef)[NSArray arrayWithObject:[NSURL fileURLWithPath:appPath]],
16 .passThruParams = NULL,
17 .launchFlags = kLSLaunchNoParams | kLSLaunchDontAddToRecents | kLSLaunchDontSwitch | kLSLaunchAndDisplayErrors,
18 .asyncRefCon = NULL, //Because we're doing it synchronously.
20 OSStatus err = LSOpenFromURLSpec(&URLSpec, NULL);
22 NSLog(@"Couldn't launch %@: LSOpenFromURLSpec returned %i/%s", appPath, err, GetMacOSStatusCommentString(err));
23 status = EXIT_FAILURE;