Replacing OpenGrowlPrefPane with a modified version of OpenAppWithoutAddingToRecents that uses Launch Services.
authorPeter Hosey <hg@boredzo.org>
Sun Sep 27 23:40:15 2009 -0700 (2009-09-27)
changeset 4451939a07eddf5e
parent 4450 2466e516f7e2
child 4452 e5b1db34ee0b
Replacing OpenGrowlPrefPane with a modified version of OpenAppWithoutAddingToRecents that uses Launch Services.
Release/Growl/Growl Installer.pmdoc/01growl.xml
Release/Growl/Growl Installer.pmdoc/index.xml
Release/Growl/OpenDocWithoutAddingToRecents/OpenDocWithoutAddingToRecents.m
Release/Growl/OpenDocWithoutAddingToRecents/OpenDocWithoutAddingToRecents.xcodeproj/project.pbxproj
Release/Growl/OpenDocWithoutAddingToRecents/OpenDocWithoutAddingToRecents_Prefix.pch
Release/Growl/OpenGrowlPrefPane/AEVTBuilder.h
Release/Growl/OpenGrowlPrefPane/AEVTBuilder.m
Release/Growl/OpenGrowlPrefPane/LICENSE
Release/Growl/OpenGrowlPrefPane/OpenGrowlPrefPane.m
Release/Growl/OpenGrowlPrefPane/OpenGrowlPrefPane.xcodeproj/project.pbxproj
Release/Growl/OpenGrowlPrefPane/OpenGrowlPrefPane_Prefix.pch
Release/Growl/OpenGrowlPrefPane/OpenPrefPane.m
Release/Growl/OpenGrowlPrefPane/PrefPaneOpener.h
Release/Growl/OpenGrowlPrefPane/PrefPaneOpener.m
Release/Growl/scripts/OpenDocWithoutAddingToRecents
Release/Growl/scripts/OpenGrowlAndItsPrefPane
Release/Growl/scripts/OpenGrowlPrefPane
     1.1 --- a/Release/Growl/Growl Installer.pmdoc/01growl.xml	Sun Sep 27 20:52:15 2009 -0700
     1.2 +++ b/Release/Growl/Growl Installer.pmdoc/01growl.xml	Sun Sep 27 23:40:15 2009 -0700
     1.3 @@ -1,1 +1,1 @@
     1.4 -<pkgref spec="1.12" uuid="2ABBED65-74F0-47A3-B04B-B83A53AFAF51"><config><identifier>com.growl.growl.pkg</identifier><version>2</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true" includeRoot="true">../../build/Release/Growl.prefPane</installFrom><installTo mod="true">/Library/PreferencePanes/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>scripts.preinstall.path</mod><mod>scripts.scriptsDirectoryPath.isRelativeType</mod><mod>installTo</mod><mod>scripts.postinstall.path</mod><mod>installFrom.isRelativeType</mod><mod>scripts.postflight.isRelativeType</mod><mod>version</mod><mod>parent</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>identifier</mod><mod>scripts.postupgrade.path</mod><mod>installFrom.path</mod><mod>scripts.preflight.path</mod><mod>installTo.path</mod></config><scripts><preflight relative="true" mod="true">scripts/GrowlPreInstall</preflight><postflight relative="true" mod="true">scripts/OpenGrowlAndItsPrefPane</postflight><scripts-dir relative="true" mod="true">scripts</scripts-dir></scripts><contents><file-list>01growl-contents.xml</file-list><component id="com.growl.prefpanel" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane" version="1.2b4"><component id="com.Growl.GrowlHelperApp" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app" version="1.2b4"><component id="com.growl.GrowlAction" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/Library/Automator/Show Growl Notification.action" version="1.1.6"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Dangerous" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/AboveTheNight.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.Bezel" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Bezel.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.Brushed" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Brushed.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.Bubbles" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Bubbles.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Candybars" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Candybars.growlStyle" version="0.6"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Crystal" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Crystal.growlStyle" version="0.6"><mod>isRelocatable</mod></component><component id="com.Growl.iCal" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/iCal.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.MailMe" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/MailMe.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.MusicVideo" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/MusicVideo.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.Nano" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Nano.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.NotifyOS9" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/NotifyOS9.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.NotifyOSX" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/NotifyOSX.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Plain" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Plain.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Pseudo-Coda" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Pseudo-Coda.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.Smoke" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Smoke.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.Growl.SMS" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/SMS.growlView" version="1.2b4"><mod>isRelocatable</mod></component><component id="com.growl.Speech" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Speech.growlView" version="1.2b4"><mod>isRelocatable</mod></component><mod>isRelocatable</mod></component><component id="com.Growl.MenuExtra" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlMenu.app" version="1.2b4"><mod>isRelocatable</mod></component></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
     1.5 \ No newline at end of file
     1.6 +<pkgref spec="1.12" uuid="2ABBED65-74F0-47A3-B04B-B83A53AFAF51"><config><identifier>com.growl.growl.pkg</identifier><version>2</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true" includeRoot="true">../../build/Release/Growl.prefPane</installFrom><installTo mod="true">/Library/PreferencePanes/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>scripts.preinstall.path</mod><mod>scripts.scriptsDirectoryPath.isRelativeType</mod><mod>installTo</mod><mod>scripts.postinstall.path</mod><mod>installFrom.isRelativeType</mod><mod>scripts.postflight.isRelativeType</mod><mod>version</mod><mod>parent</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>identifier</mod><mod>scripts.postupgrade.path</mod><mod>installFrom.path</mod><mod>scripts.preflight.path</mod><mod>installTo.path</mod></config><scripts><preflight relative="true" mod="true">scripts/GrowlPreInstall</preflight><postflight relative="true" mod="true">scripts/OpenGrowlAndItsPrefPane</postflight><scripts-dir relative="true" mod="true">scripts</scripts-dir></scripts><contents><file-list>01growl-contents.xml</file-list><component id="com.growl.prefpanel" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane" version="1.2b7"><component id="com.Growl.GrowlHelperApp" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app" version="1.2b7"><component id="com.growl.GrowlAction" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/Library/Automator/Show Growl Notification.action" version="1.1.6"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Dangerous" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/AboveTheNight.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.Bezel" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Bezel.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.Brushed" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Brushed.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.Bubbles" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Bubbles.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Candybars" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Candybars.growlStyle" version="0.6"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Crystal" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Crystal.growlStyle" version="0.6"><mod>isRelocatable</mod></component><component id="com.Growl.iCal" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/iCal.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.MailMe" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/MailMe.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.MusicVideo" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/MusicVideo.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.Nano" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Nano.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.NotifyOS9" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/NotifyOS9.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.NotifyOSX" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/NotifyOSX.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Plain" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Plain.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.WebKit.Pseudo-Coda" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Pseudo-Coda.growlStyle" version="1.0"><mod>isRelocatable</mod></component><component id="com.Growl.Smoke" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Smoke.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.Growl.SMS" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/SMS.growlView" version="1.2b7"><mod>isRelocatable</mod></component><component id="com.growl.Speech" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlHelperApp.app/Contents/PlugIns/Speech.growlView" version="1.2b7"><mod>isRelocatable</mod></component><mod>isRelocatable</mod></component><component id="com.Growl.MenuExtra" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/build/Release/Growl.prefPane/Contents/Resources/GrowlMenu.app" version="1.2b7"><mod>isRelocatable</mod></component></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
     1.7 \ No newline at end of file
     2.1 --- a/Release/Growl/Growl Installer.pmdoc/index.xml	Sun Sep 27 20:52:15 2009 -0700
     2.2 +++ b/Release/Growl/Growl Installer.pmdoc/index.xml	Sun Sep 27 23:40:15 2009 -0700
     2.3 @@ -158,4 +158,4 @@
     2.4  Voir <http://growl.info/about.php> pour plus d\'92information.\
     2.5  \
     2.6  Cliquer sur Continuer pour installer.\
     2.7 -}]]></resource></locale></resources><requirements><requirement id="filt" operator="eq" value="true"><file>/Library</file><message>You can only install on a volume containing an installation of Mac OS X.</message></requirement></requirements><flags/><item type="file">01growl.xml</item><mod>description</mod><mod>properties.title</mod><mod>properties.systemDomain</mod><mod>properties.userDomain</mod><mod>preinstallActions.actions</mod><mod>properties.customizeOption</mod><mod>postinstallActions.actions</mod><mod>properties.anywhereDomain</mod></pkmkdoc>
     2.8 \ No newline at end of file
     2.9 +}]]></resource></locale></resources><requirements><requirement id="filt" operator="eq" value="true"><file>/Library</file><message>You can only install on a volume containing an installation of Mac OS X.</message></requirement></requirements><flags/><item type="file">01growl.xml</item><mod>description</mod><mod>properties.title</mod><mod>properties.anywhereDomain</mod><mod>properties.userDomain</mod><mod>preinstallActions.actions</mod><mod>properties.customizeOption</mod><mod>properties.systemDomain</mod><mod>postinstallActions.actions</mod></pkmkdoc>
    2.10 \ No newline at end of file
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/Release/Growl/OpenDocWithoutAddingToRecents/OpenDocWithoutAddingToRecents.m	Sun Sep 27 23:40:15 2009 -0700
     3.3 @@ -0,0 +1,30 @@
     3.4 +int main (int argc, char **argv) {
     3.5 +	int status = EXIT_SUCCESS;
     3.6 +
     3.7 +    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
     3.8 +
     3.9 +	if (argv[1] == NULL) {
    3.10 +		NSLog(@"%s invoked with no arguments", argv[0]);
    3.11 +		status = EXIT_FAILURE;
    3.12 +		goto end;
    3.13 +	}
    3.14 +	NSString *appPath = [NSString stringWithUTF8String:argv[1]];
    3.15 +
    3.16 +	struct LSLaunchURLSpec URLSpec = {
    3.17 +		.appURL = NULL,
    3.18 +		.itemURLs = (CFArrayRef)[NSArray arrayWithObject:[NSURL fileURLWithPath:appPath]],
    3.19 +		.passThruParams = NULL,
    3.20 +		.launchFlags = kLSLaunchNoParams | kLSLaunchDontAddToRecents | kLSLaunchDontSwitch | kLSLaunchAndDisplayErrors,
    3.21 +		.asyncRefCon = NULL, //Because we're doing it synchronously.
    3.22 +	};
    3.23 +	OSStatus err = LSOpenFromURLSpec(&URLSpec, NULL);
    3.24 +	if (err != noErr) {
    3.25 +		NSLog(@"Couldn't launch %@: LSOpenFromURLSpec returned %i/%s", appPath, err, GetMacOSStatusCommentString(err));
    3.26 +		status = EXIT_FAILURE;
    3.27 +		goto end;
    3.28 +	}
    3.29 +
    3.30 +end:
    3.31 +    [pool drain];
    3.32 +    return status;
    3.33 +}
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/Release/Growl/OpenDocWithoutAddingToRecents/OpenDocWithoutAddingToRecents.xcodeproj/project.pbxproj	Sun Sep 27 23:40:15 2009 -0700
     4.3 @@ -0,0 +1,209 @@
     4.4 +// !$*UTF8*$!
     4.5 +{
     4.6 +	archiveVersion = 1;
     4.7 +	classes = {
     4.8 +	};
     4.9 +	objectVersion = 42;
    4.10 +	objects = {
    4.11 +
    4.12 +/* Begin PBXBuildFile section */
    4.13 +		317899C10E03388C0005D2E9 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 317899C00E03388C0005D2E9 /* ApplicationServices.framework */; };
    4.14 +		317899C60E0338930005D2E9 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 317899C50E0338930005D2E9 /* CoreServices.framework */; };
    4.15 +		317899CE0E033AC30005D2E9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 317899CD0E033AC30005D2E9 /* Foundation.framework */; };
    4.16 +		8DD76F9A0486AA7600D96B5E /* OpenDocWithoutAddingToRecents.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* OpenDocWithoutAddingToRecents.m */; settings = {ATTRIBUTES = (); }; };
    4.17 +/* End PBXBuildFile section */
    4.18 +
    4.19 +/* Begin PBXFileReference section */
    4.20 +		08FB7796FE84155DC02AAC07 /* OpenDocWithoutAddingToRecents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OpenDocWithoutAddingToRecents.m; sourceTree = "<group>"; };
    4.21 +		317899C00E03388C0005D2E9 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
    4.22 +		317899C50E0338930005D2E9 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
    4.23 +		317899CD0E033AC30005D2E9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
    4.24 +		32A70AAB03705E1F00C91783 /* OpenDocWithoutAddingToRecents_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenDocWithoutAddingToRecents_Prefix.pch; sourceTree = "<group>"; };
    4.25 +		8DD76FA10486AA7600D96B5E /* OpenDocWithoutAddingToRecents */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = OpenDocWithoutAddingToRecents; sourceTree = BUILT_PRODUCTS_DIR; };
    4.26 +/* End PBXFileReference section */
    4.27 +
    4.28 +/* Begin PBXFrameworksBuildPhase section */
    4.29 +		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
    4.30 +			isa = PBXFrameworksBuildPhase;
    4.31 +			buildActionMask = 2147483647;
    4.32 +			files = (
    4.33 +				317899C10E03388C0005D2E9 /* ApplicationServices.framework in Frameworks */,
    4.34 +				317899C60E0338930005D2E9 /* CoreServices.framework in Frameworks */,
    4.35 +				317899CE0E033AC30005D2E9 /* Foundation.framework in Frameworks */,
    4.36 +			);
    4.37 +			runOnlyForDeploymentPostprocessing = 0;
    4.38 +		};
    4.39 +/* End PBXFrameworksBuildPhase section */
    4.40 +
    4.41 +/* Begin PBXGroup section */
    4.42 +		08FB7794FE84155DC02AAC07 /* OpenAppWithoutAddingToRecents */ = {
    4.43 +			isa = PBXGroup;
    4.44 +			children = (
    4.45 +				08FB7795FE84155DC02AAC07 /* Source */,
    4.46 +				08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
    4.47 +				1AB674ADFE9D54B511CA2CBB /* Products */,
    4.48 +			);
    4.49 +			name = OpenAppWithoutAddingToRecents;
    4.50 +			sourceTree = "<group>";
    4.51 +		};
    4.52 +		08FB7795FE84155DC02AAC07 /* Source */ = {
    4.53 +			isa = PBXGroup;
    4.54 +			children = (
    4.55 +				32A70AAB03705E1F00C91783 /* OpenDocWithoutAddingToRecents_Prefix.pch */,
    4.56 +				08FB7796FE84155DC02AAC07 /* OpenDocWithoutAddingToRecents.m */,
    4.57 +			);
    4.58 +			name = Source;
    4.59 +			sourceTree = "<group>";
    4.60 +		};
    4.61 +		08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
    4.62 +			isa = PBXGroup;
    4.63 +			children = (
    4.64 +				317899C50E0338930005D2E9 /* CoreServices.framework */,
    4.65 +				317899C00E03388C0005D2E9 /* ApplicationServices.framework */,
    4.66 +				317899CD0E033AC30005D2E9 /* Foundation.framework */,
    4.67 +			);
    4.68 +			name = "External Frameworks and Libraries";
    4.69 +			sourceTree = "<group>";
    4.70 +		};
    4.71 +		1AB674ADFE9D54B511CA2CBB /* Products */ = {
    4.72 +			isa = PBXGroup;
    4.73 +			children = (
    4.74 +				8DD76FA10486AA7600D96B5E /* OpenDocWithoutAddingToRecents */,
    4.75 +			);
    4.76 +			name = Products;
    4.77 +			sourceTree = "<group>";
    4.78 +		};
    4.79 +/* End PBXGroup section */
    4.80 +
    4.81 +/* Begin PBXNativeTarget section */
    4.82 +		8DD76F960486AA7600D96B5E /* OpenDocWithoutAddingToRecents */ = {
    4.83 +			isa = PBXNativeTarget;
    4.84 +			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "OpenDocWithoutAddingToRecents" */;
    4.85 +			buildPhases = (
    4.86 +				8DD76F990486AA7600D96B5E /* Sources */,
    4.87 +				8DD76F9B0486AA7600D96B5E /* Frameworks */,
    4.88 +			);
    4.89 +			buildRules = (
    4.90 +			);
    4.91 +			dependencies = (
    4.92 +			);
    4.93 +			name = OpenDocWithoutAddingToRecents;
    4.94 +			productInstallPath = "$(HOME)/bin";
    4.95 +			productName = OpenAppWithoutAddingToRecents;
    4.96 +			productReference = 8DD76FA10486AA7600D96B5E /* OpenDocWithoutAddingToRecents */;
    4.97 +			productType = "com.apple.product-type.tool";
    4.98 +		};
    4.99 +/* End PBXNativeTarget section */
   4.100 +
   4.101 +/* Begin PBXProject section */
   4.102 +		08FB7793FE84155DC02AAC07 /* Project object */ = {
   4.103 +			isa = PBXProject;
   4.104 +			buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "OpenDocWithoutAddingToRecents" */;
   4.105 +			compatibilityVersion = "Xcode 2.4";
   4.106 +			hasScannedForEncodings = 1;
   4.107 +			mainGroup = 08FB7794FE84155DC02AAC07 /* OpenAppWithoutAddingToRecents */;
   4.108 +			projectDirPath = "";
   4.109 +			projectRoot = "";
   4.110 +			targets = (
   4.111 +				8DD76F960486AA7600D96B5E /* OpenDocWithoutAddingToRecents */,
   4.112 +			);
   4.113 +		};
   4.114 +/* End PBXProject section */
   4.115 +
   4.116 +/* Begin PBXSourcesBuildPhase section */
   4.117 +		8DD76F990486AA7600D96B5E /* Sources */ = {
   4.118 +			isa = PBXSourcesBuildPhase;
   4.119 +			buildActionMask = 2147483647;
   4.120 +			files = (
   4.121 +				8DD76F9A0486AA7600D96B5E /* OpenDocWithoutAddingToRecents.m in Sources */,
   4.122 +			);
   4.123 +			runOnlyForDeploymentPostprocessing = 0;
   4.124 +		};
   4.125 +/* End PBXSourcesBuildPhase section */
   4.126 +
   4.127 +/* Begin XCBuildConfiguration section */
   4.128 +		1DEB927508733DD40010E9CD /* Debug */ = {
   4.129 +			isa = XCBuildConfiguration;
   4.130 +			buildSettings = {
   4.131 +				GCC_DYNAMIC_NO_PIC = NO;
   4.132 +				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   4.133 +				GCC_MODEL_TUNING = G5;
   4.134 +				GCC_OPTIMIZATION_LEVEL = 0;
   4.135 +				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   4.136 +				GCC_PREFIX_HEADER = OpenDocWithoutAddingToRecents_Prefix.pch;
   4.137 +				INSTALL_PATH = /usr/local/bin;
   4.138 +				PRODUCT_NAME = OpenDocWithoutAddingToRecents;
   4.139 +				ZERO_LINK = YES;
   4.140 +			};
   4.141 +			name = Debug;
   4.142 +		};
   4.143 +		1DEB927608733DD40010E9CD /* Release */ = {
   4.144 +			isa = XCBuildConfiguration;
   4.145 +			buildSettings = {
   4.146 +				GCC_MODEL_TUNING = G5;
   4.147 +				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   4.148 +				GCC_PREFIX_HEADER = OpenDocWithoutAddingToRecents_Prefix.pch;
   4.149 +				INSTALL_PATH = /usr/local/bin;
   4.150 +				PRODUCT_NAME = OpenDocWithoutAddingToRecents;
   4.151 +			};
   4.152 +			name = Release;
   4.153 +		};
   4.154 +		1DEB927908733DD40010E9CD /* Debug */ = {
   4.155 +			isa = XCBuildConfiguration;
   4.156 +			buildSettings = {
   4.157 +				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   4.158 +				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
   4.159 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   4.160 +				GCC_WARN_UNUSED_VARIABLE = YES;
   4.161 +				MACOSX_DEPLOYMENT_TARGET = 10.4;
   4.162 +				PREBINDING = NO;
   4.163 +				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
   4.164 +			};
   4.165 +			name = Debug;
   4.166 +		};
   4.167 +		1DEB927A08733DD40010E9CD /* Release */ = {
   4.168 +			isa = XCBuildConfiguration;
   4.169 +			buildSettings = {
   4.170 +				ARCHS = (
   4.171 +					ppc,
   4.172 +					i386,
   4.173 +				);
   4.174 +				COPY_PHASE_STRIP = NO;
   4.175 +				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   4.176 +				DEPLOYMENT_POSTPROCESSING = YES;
   4.177 +				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
   4.178 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   4.179 +				GCC_WARN_UNUSED_VARIABLE = YES;
   4.180 +				MACOSX_DEPLOYMENT_TARGET = 10.4;
   4.181 +				PREBINDING = NO;
   4.182 +				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
   4.183 +				SEPARATE_STRIP = YES;
   4.184 +				STRIP_INSTALLED_PRODUCT = YES;
   4.185 +			};
   4.186 +			name = Release;
   4.187 +		};
   4.188 +/* End XCBuildConfiguration section */
   4.189 +
   4.190 +/* Begin XCConfigurationList section */
   4.191 +		1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "OpenDocWithoutAddingToRecents" */ = {
   4.192 +			isa = XCConfigurationList;
   4.193 +			buildConfigurations = (
   4.194 +				1DEB927508733DD40010E9CD /* Debug */,
   4.195 +				1DEB927608733DD40010E9CD /* Release */,
   4.196 +			);
   4.197 +			defaultConfigurationIsVisible = 0;
   4.198 +			defaultConfigurationName = Release;
   4.199 +		};
   4.200 +		1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "OpenDocWithoutAddingToRecents" */ = {
   4.201 +			isa = XCConfigurationList;
   4.202 +			buildConfigurations = (
   4.203 +				1DEB927908733DD40010E9CD /* Debug */,
   4.204 +				1DEB927A08733DD40010E9CD /* Release */,
   4.205 +			);
   4.206 +			defaultConfigurationIsVisible = 0;
   4.207 +			defaultConfigurationName = Release;
   4.208 +		};
   4.209 +/* End XCConfigurationList section */
   4.210 +	};
   4.211 +	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
   4.212 +}
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/Release/Growl/OpenDocWithoutAddingToRecents/OpenDocWithoutAddingToRecents_Prefix.pch	Sun Sep 27 23:40:15 2009 -0700
     5.3 @@ -0,0 +1,8 @@
     5.4 +//Launch Services is in Core Services on 10.5 and later.
     5.5 +#include <CoreServices/CoreServices.h>
     5.6 +//Launch Services is in Application Services on Tiger.
     5.7 +#include <ApplicationServices/ApplicationServices.h>
     5.8 +
     5.9 +#ifdef __OBJC__
    5.10 +#	import <Foundation/Foundation.h>
    5.11 +#endif
     6.1 --- a/Release/Growl/OpenGrowlPrefPane/AEVTBuilder.h	Sun Sep 27 20:52:15 2009 -0700
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,78 +0,0 @@
     6.4 -//
     6.5 -//  AEVTBuilder.h
     6.6 -//
     6.7 -// Created by Michael Ash (http://www.mikeash.com/)
     6.8 -// 
     6.9 -// Copyright (c) 2005 Ultralingua
    6.10 -// 
    6.11 -// This software is provided 'as-is', without any express or implied
    6.12 -// warranty. In no event will the authors be held liable for any
    6.13 -// damages arising from the use of this software.
    6.14 -// 
    6.15 -// Permission is granted to anyone to use this software for any
    6.16 -// purpose, including commercial applications, and to alter it and
    6.17 -// redistribute it freely, subject to the following restrictions:
    6.18 -// 
    6.19 -// 1. The origin of this software must not be misrepresented; you
    6.20 -// must not claim that you wrote the original software. If you use
    6.21 -// this software in a product, an acknowledgment in the product
    6.22 -// documentation would be appreciated but is not required.
    6.23 -// 
    6.24 -// 2. Altered source versions must be plainly marked as such, and
    6.25 -// must not be misrepresented as being the original software.
    6.26 -// 
    6.27 -// 3. This notice may not be removed or altered from any source
    6.28 -// distribution.
    6.29 -//
    6.30 -// Please see http://www.cocoadev.com/index.pl?AEVTBuilder for
    6.31 -// information on this code.
    6.32 -// 
    6.33 -
    6.34 -#import <Cocoa/Cocoa.h>
    6.35 -#import <CoreServices/CoreServices.h>
    6.36 -
    6.37 -
    6.38 -@protocol AEVTBuilding
    6.39 -
    6.40 -- (NSAppleEventDescriptor *)class:(OSType)eventClass id:(OSType)eventId target:(ProcessSerialNumber)psn, ...;
    6.41 -
    6.42 -@end
    6.43 -
    6.44 -@protocol AEDescBuilding
    6.45 -
    6.46 -- (id):(OSType)ostype, ...;
    6.47 -
    6.48 -@end
    6.49 -
    6.50 -@protocol AENullBuilding
    6.51 -
    6.52 -- (id)null;
    6.53 -
    6.54 -@end
    6.55 -
    6.56 -@protocol AEStringBuilding
    6.57 -
    6.58 -- (id):(NSString *)str;
    6.59 -
    6.60 -@end
    6.61 -
    6.62 -
    6.63 -extern id <AEVTBuilding> AEVT;
    6.64 -
    6.65 -extern id <AEDescBuilding> RECORD;
    6.66 -extern OSType ENDRECORD;
    6.67 -
    6.68 -extern id <AEDescBuilding> KEY;
    6.69 -extern id <AEDescBuilding> TYPE;
    6.70 -extern id <AEDescBuilding> INT;
    6.71 -extern id <AEDescBuilding> ENUM;
    6.72 -extern id <AENullBuilding> DESC;
    6.73 -extern id <AEDescBuilding> DATA;
    6.74 -extern id <AEStringBuilding> STRING;
    6.75 -
    6.76 -
    6.77 -@interface NSAppleEventDescriptor (AEVTConvenienceMethods)
    6.78 -
    6.79 -- (NSAppleEventDescriptor *)sendWithImmediateReply;
    6.80 -
    6.81 -@end
     7.1 --- a/Release/Growl/OpenGrowlPrefPane/AEVTBuilder.m	Sun Sep 27 20:52:15 2009 -0700
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,296 +0,0 @@
     7.4 -//
     7.5 -//  AEVTBuilder.m
     7.6 -//
     7.7 -// Created by Michael Ash (http://www.mikeash.com/)
     7.8 -// 
     7.9 -// Copyright (c) 2005 Ultralingua
    7.10 -// 
    7.11 -// This software is provided 'as-is', without any express or implied
    7.12 -// warranty. In no event will the authors be held liable for any
    7.13 -// damages arising from the use of this software.
    7.14 -// 
    7.15 -// Permission is granted to anyone to use this software for any
    7.16 -// purpose, including commercial applications, and to alter it and
    7.17 -// redistribute it freely, subject to the following restrictions:
    7.18 -// 
    7.19 -// 1. The origin of this software must not be misrepresented; you
    7.20 -// must not claim that you wrote the original software. If you use
    7.21 -// this software in a product, an acknowledgment in the product
    7.22 -// documentation would be appreciated but is not required.
    7.23 -// 
    7.24 -// 2. Altered source versions must be plainly marked as such, and
    7.25 -// must not be misrepresented as being the original software.
    7.26 -// 
    7.27 -// 3. This notice may not be removed or altered from any source
    7.28 -// distribution.
    7.29 -//
    7.30 -// Please see http://www.cocoadev.com/index.pl?AEVTBuilder for
    7.31 -// information on this code.
    7.32 -// 
    7.33 -
    7.34 -#import "AEVTBuilder.h"
    7.35 -
    7.36 -#import <stdarg.h>
    7.37 -
    7.38 -
    7.39 -id AEVT             = nil;
    7.40 -
    7.41 -id RECORD           = nil;
    7.42 -OSType ENDRECORD    = 0;
    7.43 -
    7.44 -id KEY              = nil;
    7.45 -id TYPE             = nil;
    7.46 -id INT              = nil;
    7.47 -id ENUM             = nil;
    7.48 -id DESC				= nil;
    7.49 -id DATA				= nil;
    7.50 -id STRING			= nil;
    7.51 -
    7.52 -
    7.53 -
    7.54 -@interface AEVTBuilder : NSObject {} @end
    7.55 -
    7.56 -@interface AEVTRecordBuilder : NSObject {} @end
    7.57 -
    7.58 -@interface AEVTKeyBuilder : NSObject {} @end
    7.59 -
    7.60 -@interface AEVTTypeBuilder : NSObject {} @end
    7.61 -
    7.62 -@interface AEVTIntBuilder : NSObject {} @end
    7.63 -
    7.64 -@interface AEVTEnumBuilder : NSObject {} @end
    7.65 -
    7.66 -@interface AEVTDescNullBuilder : NSObject {} @end
    7.67 -
    7.68 -@interface AEVTDataBuilder : NSObject {} @end
    7.69 -
    7.70 -@interface AEVTStringBuilder : NSObject {} @end
    7.71 -
    7.72 -@interface AEVTValue32 : NSObject {
    7.73 -	OSType type;
    7.74 -	OSType value;
    7.75 -}
    7.76 -
    7.77 -+ valueWithType:(OSType)t value:(OSType)v;
    7.78 -- initWithType:(OSType)t value:(OSType)v;
    7.79 -
    7.80 -- (OSType)type;
    7.81 -- (OSType)value;
    7.82 -
    7.83 -@end
    7.84 -
    7.85 -
    7.86 -@implementation AEVTBuilder
    7.87 -
    7.88 -+ (void)load
    7.89 -{
    7.90 -	if(!AEVT)
    7.91 -		AEVT = self;
    7.92 -}
    7.93 -
    7.94 -+ (NSAppleEventDescriptor *)class:(OSType)eventClass id:(OSType)eventId target:(ProcessSerialNumber)psn, ...
    7.95 -{
    7.96 -	NSAppleEventDescriptor *targetDesc = [NSAppleEventDescriptor descriptorWithDescriptorType:'psn ' bytes:&psn length:sizeof(psn)];
    7.97 -	NSAppleEventDescriptor *descriptor = [NSAppleEventDescriptor
    7.98 -			appleEventWithEventClass:eventClass
    7.99 -							 eventID:eventId
   7.100 -					targetDescriptor:targetDesc
   7.101 -							returnID:kAutoGenerateReturnID
   7.102 -					   transactionID:kAnyTransactionID];
   7.103 -	
   7.104 -	va_list args;
   7.105 -	va_start(args, psn);
   7.106 -	
   7.107 -	id key;
   7.108 -	id value;
   7.109 -	for(;;)
   7.110 -	{
   7.111 -		key = va_arg(args, id);
   7.112 -		if(!key) break;
   7.113 -		value = va_arg(args, id);
   7.114 -		
   7.115 -		[descriptor setDescriptor:value forKeyword:[key unsignedIntValue]];
   7.116 -	}
   7.117 -	
   7.118 -	va_end(args);
   7.119 -	
   7.120 -	return descriptor;
   7.121 -}
   7.122 -
   7.123 -@end
   7.124 -
   7.125 -@implementation AEVTRecordBuilder
   7.126 -
   7.127 -+ (void)load
   7.128 -{
   7.129 -	if(!RECORD)
   7.130 -		RECORD = self;
   7.131 -}
   7.132 -
   7.133 -+ (id):(OSType)ostype, ...
   7.134 -{
   7.135 -	NSAppleEventDescriptor *descriptor = [NSAppleEventDescriptor recordDescriptor];
   7.136 -	
   7.137 -	va_list args;
   7.138 -	va_start(args, ostype);
   7.139 -	
   7.140 -	id key;
   7.141 -	id value;
   7.142 -	for(;;)
   7.143 -	{
   7.144 -		key = va_arg(args, id);
   7.145 -		if(!key) break;
   7.146 -		value = va_arg(args, id);
   7.147 -		
   7.148 -		[descriptor setDescriptor:value forKeyword:[key unsignedIntValue]];
   7.149 -	}
   7.150 -	
   7.151 -	va_end(args);
   7.152 -	
   7.153 -	AEDesc coercedDesc;
   7.154 -	OSStatus err = AECoerceDesc([descriptor aeDesc], ostype, &coercedDesc);
   7.155 -	if(err)
   7.156 -	{
   7.157 -		NSLog(@"Got error %d when calling AECoerceDesc");
   7.158 -		return nil;
   7.159 -	}
   7.160 -	
   7.161 -	NSAppleEventDescriptor *coercedDescriptor = [[NSAppleEventDescriptor alloc] initWithAEDescNoCopy:&coercedDesc];
   7.162 -
   7.163 -	return [coercedDescriptor autorelease];
   7.164 -}
   7.165 -
   7.166 -@end
   7.167 -
   7.168 -@implementation AEVTKeyBuilder
   7.169 -
   7.170 -+ (void)load
   7.171 -{
   7.172 -	if(!KEY)
   7.173 -		KEY = self;
   7.174 -}
   7.175 -
   7.176 -+ (id):(OSType)ostype, ...
   7.177 -{
   7.178 -	return [NSNumber numberWithUnsignedInt:ostype];
   7.179 -}
   7.180 -
   7.181 -@end
   7.182 -
   7.183 -@implementation AEVTTypeBuilder
   7.184 -
   7.185 -+ (void)load
   7.186 -{
   7.187 -	if(!TYPE)
   7.188 -		TYPE = self;
   7.189 -}
   7.190 -
   7.191 -+ (id):(OSType)ostype, ...
   7.192 -{
   7.193 -	return [NSAppleEventDescriptor descriptorWithTypeCode:ostype];
   7.194 -}
   7.195 -
   7.196 -@end
   7.197 -
   7.198 -@implementation AEVTIntBuilder
   7.199 -
   7.200 -+ (void)load
   7.201 -{
   7.202 -	if(!INT)
   7.203 -		INT = self;
   7.204 -}
   7.205 -
   7.206 -+ (id):(OSType)ostype, ...
   7.207 -{
   7.208 -	return [NSAppleEventDescriptor descriptorWithInt32:ostype];
   7.209 -}
   7.210 -
   7.211 -@end
   7.212 -
   7.213 -@implementation AEVTEnumBuilder
   7.214 -
   7.215 -+ (void)load
   7.216 -{
   7.217 -	if(!ENUM)
   7.218 -		ENUM = self;
   7.219 -}
   7.220 -
   7.221 -+ (id):(OSType)ostype, ...
   7.222 -{
   7.223 -	return [NSAppleEventDescriptor descriptorWithEnumCode:ostype];
   7.224 -}
   7.225 -
   7.226 -@end
   7.227 -
   7.228 -@implementation AEVTDescNullBuilder
   7.229 -
   7.230 -+ (void)load
   7.231 -{
   7.232 -	if(!DESC)
   7.233 -		DESC = self;
   7.234 -}
   7.235 -
   7.236 -+ (id)null
   7.237 -{
   7.238 -	return [NSAppleEventDescriptor nullDescriptor];
   7.239 -}
   7.240 -
   7.241 -@end
   7.242 -
   7.243 -@implementation AEVTDataBuilder
   7.244 -
   7.245 -+ (void)load
   7.246 -{
   7.247 -	if(!DATA)
   7.248 -		DATA = self;
   7.249 -}
   7.250 -
   7.251 -+ (id):(OSType)ostype, ...
   7.252 -{
   7.253 -	va_list args;
   7.254 -	va_start(args, ostype);
   7.255 -	
   7.256 -	id data = va_arg(args, id);
   7.257 -	
   7.258 -	NSAppleEventDescriptor *descriptor = [NSAppleEventDescriptor descriptorWithDescriptorType:ostype data:data];
   7.259 -	
   7.260 -	va_end(args);
   7.261 -	
   7.262 -	return descriptor;
   7.263 -}
   7.264 -
   7.265 -@end
   7.266 -
   7.267 -@implementation AEVTStringBuilder
   7.268 -
   7.269 -+ (void)load
   7.270 -{
   7.271 -	if(!STRING)
   7.272 -		STRING = self;
   7.273 -}
   7.274 -
   7.275 -+ (id):(NSString *)string
   7.276 -{
   7.277 -	return [NSAppleEventDescriptor descriptorWithString:string];
   7.278 -}
   7.279 -
   7.280 -@end
   7.281 -
   7.282 -
   7.283 -@implementation NSAppleEventDescriptor (AEVTConvenienceMethods)
   7.284 -
   7.285 -- (NSAppleEventDescriptor *)sendWithImmediateReply
   7.286 -{
   7.287 -	AppleEvent reply;
   7.288 -	OSStatus err = AESendMessage([self aeDesc], &reply, kAEWaitReply, kAEDefaultTimeout);
   7.289 -	NSAppleEventDescriptor *replyDescriptor = nil;
   7.290 -	
   7.291 -	if(err == noErr)
   7.292 -	{
   7.293 -		replyDescriptor = [[[NSAppleEventDescriptor alloc] initWithAEDescNoCopy:&reply] autorelease];
   7.294 -	}
   7.295 -	
   7.296 -	return replyDescriptor;
   7.297 -}
   7.298 -
   7.299 -@end
     8.1 --- a/Release/Growl/OpenGrowlPrefPane/LICENSE	Sun Sep 27 20:52:15 2009 -0700
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,342 +0,0 @@
     8.4 -PreferencePaneOpener is distributed under the GPL. It makes use of AEVTBuilder, which is also distributed under the GPL.
     8.5 ---------------------------------------------------------------------
     8.6 -                    GNU GENERAL PUBLIC LICENSE
     8.7 -                       Version 2, June 1991
     8.8 -
     8.9 - Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    8.10 -     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    8.11 - Everyone is permitted to copy and distribute verbatim copies
    8.12 - of this license document, but changing it is not allowed.
    8.13 -
    8.14 -                            Preamble
    8.15 -
    8.16 -  The licenses for most software are designed to take away your
    8.17 -freedom to share and change it.  By contrast, the GNU General Public
    8.18 -License is intended to guarantee your freedom to share and change free
    8.19 -software--to make sure the software is free for all its users.  This
    8.20 -General Public License applies to most of the Free Software
    8.21 -Foundation's software and to any other program whose authors commit to
    8.22 -using it.  (Some other Free Software Foundation software is covered by
    8.23 -the GNU Library General Public License instead.)  You can apply it to
    8.24 -your programs, too.
    8.25 -
    8.26 -  When we speak of free software, we are referring to freedom, not
    8.27 -price.  Our General Public Licenses are designed to make sure that you
    8.28 -have the freedom to distribute copies of free software (and charge for
    8.29 -this service if you wish), that you receive source code or can get it
    8.30 -if you want it, that you can change the software or use pieces of it
    8.31 -in new free programs; and that you know you can do these things.
    8.32 -
    8.33 -  To protect your rights, we need to make restrictions that forbid
    8.34 -anyone to deny you these rights or to ask you to surrender the rights.
    8.35 -These restrictions translate to certain responsibilities for you if you
    8.36 -distribute copies of the software, or if you modify it.
    8.37 -
    8.38 -  For example, if you distribute copies of such a program, whether
    8.39 -gratis or for a fee, you must give the recipients all the rights that
    8.40 -you have.  You must make sure that they, too, receive or can get the
    8.41 -source code.  And you must show them these terms so they know their
    8.42 -rights.
    8.43 -
    8.44 -  We protect your rights with two steps: (1) copyright the software, and
    8.45 -(2) offer you this license which gives you legal permission to copy,
    8.46 -distribute and/or modify the software.
    8.47 -
    8.48 -  Also, for each author's protection and ours, we want to make certain
    8.49 -that everyone understands that there is no warranty for this free
    8.50 -software.  If the software is modified by someone else and passed on, we
    8.51 -want its recipients to know that what they have is not the original, so
    8.52 -that any problems introduced by others will not reflect on the original
    8.53 -authors' reputations.
    8.54 -
    8.55 -  Finally, any free program is threatened constantly by software
    8.56 -patents.  We wish to avoid the danger that redistributors of a free
    8.57 -program will individually obtain patent licenses, in effect making the
    8.58 -program proprietary.  To prevent this, we have made it clear that any
    8.59 -patent must be licensed for everyone's free use or not licensed at all.
    8.60 -
    8.61 -  The precise terms and conditions for copying, distribution and
    8.62 -modification follow.
    8.63 -
    8.64 -                    GNU GENERAL PUBLIC LICENSE
    8.65 -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    8.66 -
    8.67 -  0. This License applies to any program or other work which contains
    8.68 -a notice placed by the copyright holder saying it may be distributed
    8.69 -under the terms of this General Public License.  The "Program", below,
    8.70 -refers to any such program or work, and a "work based on the Program"
    8.71 -means either the Program or any derivative work under copyright law:
    8.72 -that is to say, a work containing the Program or a portion of it,
    8.73 -either verbatim or with modifications and/or translated into another
    8.74 -language.  (Hereinafter, translation is included without limitation in
    8.75 -the term "modification".)  Each licensee is addressed as "you".
    8.76 -
    8.77 -Activities other than copying, distribution and modification are not
    8.78 -covered by this License; they are outside its scope.  The act of
    8.79 -running the Program is not restricted, and the output from the Program
    8.80 -is covered only if its contents constitute a work based on the
    8.81 -Program (independent of having been made by running the Program).
    8.82 -Whether that is true depends on what the Program does.
    8.83 -
    8.84 -  1. You may copy and distribute verbatim copies of the Program's
    8.85 -source code as you receive it, in any medium, provided that you
    8.86 -conspicuously and appropriately publish on each copy an appropriate
    8.87 -copyright notice and disclaimer of warranty; keep intact all the
    8.88 -notices that refer to this License and to the absence of any warranty;
    8.89 -and give any other recipients of the Program a copy of this License
    8.90 -along with the Program.
    8.91 -
    8.92 -You may charge a fee for the physical act of transferring a copy, and
    8.93 -you may at your option offer warranty protection in exchange for a fee.
    8.94 -
    8.95 -  2. You may modify your copy or copies of the Program or any portion
    8.96 -of it, thus forming a work based on the Program, and copy and
    8.97 -distribute such modifications or work under the terms of Section 1
    8.98 -above, provided that you also meet all of these conditions:
    8.99 -
   8.100 -    a) You must cause the modified files to carry prominent notices
   8.101 -    stating that you changed the files and the date of any change.
   8.102 -
   8.103 -    b) You must cause any work that you distribute or publish, that in
   8.104 -    whole or in part contains or is derived from the Program or any
   8.105 -    part thereof, to be licensed as a whole at no charge to all third
   8.106 -    parties under the terms of this License.
   8.107 -
   8.108 -    c) If the modified program normally reads commands interactively
   8.109 -    when run, you must cause it, when started running for such
   8.110 -    interactive use in the most ordinary way, to print or display an
   8.111 -    announcement including an appropriate copyright notice and a
   8.112 -    notice that there is no warranty (or else, saying that you provide
   8.113 -    a warranty) and that users may redistribute the program under
   8.114 -    these conditions, and telling the user how to view a copy of this
   8.115 -    License.  (Exception: if the Program itself is interactive but
   8.116 -    does not normally print such an announcement, your work based on
   8.117 -    the Program is not required to print an announcement.)
   8.118 -
   8.119 -These requirements apply to the modified work as a whole.  If
   8.120 -identifiable sections of that work are not derived from the Program,
   8.121 -and can be reasonably considered independent and separate works in
   8.122 -themselves, then this License, and its terms, do not apply to those
   8.123 -sections when you distribute them as separate works.  But when you
   8.124 -distribute the same sections as part of a whole which is a work based
   8.125 -on the Program, the distribution of the whole must be on the terms of
   8.126 -this License, whose permissions for other licensees extend to the
   8.127 -entire whole, and thus to each and every part regardless of who wrote it.
   8.128 -
   8.129 -Thus, it is not the intent of this section to claim rights or contest
   8.130 -your rights to work written entirely by you; rather, the intent is to
   8.131 -exercise the right to control the distribution of derivative or
   8.132 -collective works based on the Program.
   8.133 -
   8.134 -In addition, mere aggregation of another work not based on the Program
   8.135 -with the Program (or with a work based on the Program) on a volume of
   8.136 -a storage or distribution medium does not bring the other work under
   8.137 -the scope of this License.
   8.138 -
   8.139 -  3. You may copy and distribute the Program (or a work based on it,
   8.140 -under Section 2) in object code or executable form under the terms of
   8.141 -Sections 1 and 2 above provided that you also do one of the following:
   8.142 -
   8.143 -    a) Accompany it with the complete corresponding machine-readable
   8.144 -    source code, which must be distributed under the terms of Sections
   8.145 -    1 and 2 above on a medium customarily used for software interchange; or,
   8.146 -
   8.147 -    b) Accompany it with a written offer, valid for at least three
   8.148 -    years, to give any third party, for a charge no more than your
   8.149 -    cost of physically performing source distribution, a complete
   8.150 -    machine-readable copy of the corresponding source code, to be
   8.151 -    distributed under the terms of Sections 1 and 2 above on a medium
   8.152 -    customarily used for software interchange; or,
   8.153 -
   8.154 -    c) Accompany it with the information you received as to the offer
   8.155 -    to distribute corresponding source code.  (This alternative is
   8.156 -    allowed only for noncommercial distribution and only if you
   8.157 -    received the program in object code or executable form with such
   8.158 -    an offer, in accord with Subsection b above.)
   8.159 -
   8.160 -The source code for a work means the preferred form of the work for
   8.161 -making modifications to it.  For an executable work, complete source
   8.162 -code means all the source code for all modules it contains, plus any
   8.163 -associated interface definition files, plus the scripts used to
   8.164 -control compilation and installation of the executable.  However, as a
   8.165 -special exception, the source code distributed need not include
   8.166 -anything that is normally distributed (in either source or binary
   8.167 -form) with the major components (compiler, kernel, and so on) of the
   8.168 -operating system on which the executable runs, unless that component
   8.169 -itself accompanies the executable.
   8.170 -
   8.171 -If distribution of executable or object code is made by offering
   8.172 -access to copy from a designated place, then offering equivalent
   8.173 -access to copy the source code from the same place counts as
   8.174 -distribution of the source code, even though third parties are not
   8.175 -compelled to copy the source along with the object code.
   8.176 -
   8.177 -  4. You may not copy, modify, sublicense, or distribute the Program
   8.178 -except as expressly provided under this License.  Any attempt
   8.179 -otherwise to copy, modify, sublicense or distribute the Program is
   8.180 -void, and will automatically terminate your rights under this License.
   8.181 -However, parties who have received copies, or rights, from you under
   8.182 -this License will not have their licenses terminated so long as such
   8.183 -parties remain in full compliance.
   8.184 -
   8.185 -  5. You are not required to accept this License, since you have not
   8.186 -signed it.  However, nothing else grants you permission to modify or
   8.187 -distribute the Program or its derivative works.  These actions are
   8.188 -prohibited by law if you do not accept this License.  Therefore, by
   8.189 -modifying or distributing the Program (or any work based on the
   8.190 -Program), you indicate your acceptance of this License to do so, and
   8.191 -all its terms and conditions for copying, distributing or modifying
   8.192 -the Program or works based on it.
   8.193 -
   8.194 -  6. Each time you redistribute the Program (or any work based on the
   8.195 -Program), the recipient automatically receives a license from the
   8.196 -original licensor to copy, distribute or modify the Program subject to
   8.197 -these terms and conditions.  You may not impose any further
   8.198 -restrictions on the recipients' exercise of the rights granted herein.
   8.199 -You are not responsible for enforcing compliance by third parties to
   8.200 -this License.
   8.201 -
   8.202 -  7. If, as a consequence of a court judgment or allegation of patent
   8.203 -infringement or for any other reason (not limited to patent issues),
   8.204 -conditions are imposed on you (whether by court order, agreement or
   8.205 -otherwise) that contradict the conditions of this License, they do not
   8.206 -excuse you from the conditions of this License.  If you cannot
   8.207 -distribute so as to satisfy simultaneously your obligations under this
   8.208 -License and any other pertinent obligations, then as a consequence you
   8.209 -may not distribute the Program at all.  For example, if a patent
   8.210 -license would not permit royalty-free redistribution of the Program by
   8.211 -all those who receive copies directly or indirectly through you, then
   8.212 -the only way you could satisfy both it and this License would be to
   8.213 -refrain entirely from distribution of the Program.
   8.214 -
   8.215 -If any portion of this section is held invalid or unenforceable under
   8.216 -any particular circumstance, the balance of the section is intended to
   8.217 -apply and the section as a whole is intended to apply in other
   8.218 -circumstances.
   8.219 -
   8.220 -It is not the purpose of this section to induce you to infringe any
   8.221 -patents or other property right claims or to contest validity of any
   8.222 -such claims; this section has the sole purpose of protecting the
   8.223 -integrity of the free software distribution system, which is
   8.224 -implemented by public license practices.  Many people have made
   8.225 -generous contributions to the wide range of software distributed
   8.226 -through that system in reliance on consistent application of that
   8.227 -system; it is up to the author/donor to decide if he or she is willing
   8.228 -to distribute software through any other system and a licensee cannot
   8.229 -impose that choice.
   8.230 -
   8.231 -This section is intended to make thoroughly clear what is believed to
   8.232 -be a consequence of the rest of this License.
   8.233 -
   8.234 -  8. If the distribution and/or use of the Program is restricted in
   8.235 -certain countries either by patents or by copyrighted interfaces, the
   8.236 -original copyright holder who places the Program under this License
   8.237 -may add an explicit geographical distribution limitation excluding
   8.238 -those countries, so that distribution is permitted only in or among
   8.239 -countries not thus excluded.  In such case, this License incorporates
   8.240 -the limitation as if written in the body of this License.
   8.241 -
   8.242 -  9. The Free Software Foundation may publish revised and/or new versions
   8.243 -of the General Public License from time to time.  Such new versions will
   8.244 -be similar in spirit to the present version, but may differ in detail to
   8.245 -address new problems or concerns.
   8.246 -
   8.247 -Each version is given a distinguishing version number.  If the Program
   8.248 -specifies a version number of this License which applies to it and "any
   8.249 -later version", you have the option of following the terms and conditions
   8.250 -either of that version or of any later version published by the Free
   8.251 -Software Foundation.  If the Program does not specify a version number of
   8.252 -this License, you may choose any version ever published by the Free Software
   8.253 -Foundation.
   8.254 -
   8.255 -  10. If you wish to incorporate parts of the Program into other free
   8.256 -programs whose distribution conditions are different, write to the author
   8.257 -to ask for permission.  For software which is copyrighted by the Free
   8.258 -Software Foundation, write to the Free Software Foundation; we sometimes
   8.259 -make exceptions for this.  Our decision will be guided by the two goals
   8.260 -of preserving the free status of all derivatives of our free software and
   8.261 -of promoting the sharing and reuse of software generally.
   8.262 -
   8.263 -                            NO WARRANTY
   8.264 -
   8.265 -  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
   8.266 -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
   8.267 -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
   8.268 -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
   8.269 -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   8.270 -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
   8.271 -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
   8.272 -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
   8.273 -REPAIR OR CORRECTION.
   8.274 -
   8.275 -  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
   8.276 -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
   8.277 -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
   8.278 -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
   8.279 -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
   8.280 -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
   8.281 -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
   8.282 -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
   8.283 -POSSIBILITY OF SUCH DAMAGES.
   8.284 -
   8.285 -                     END OF TERMS AND CONDITIONS
   8.286 -
   8.287 -            How to Apply These Terms to Your New Programs
   8.288 -
   8.289 -  If you develop a new program, and you want it to be of the greatest
   8.290 -possible use to the public, the best way to achieve this is to make it
   8.291 -free software which everyone can redistribute and change under these terms.
   8.292 -
   8.293 -  To do so, attach the following notices to the program.  It is safest
   8.294 -to attach them to the start of each source file to most effectively
   8.295 -convey the exclusion of warranty; and each file should have at least
   8.296 -the "copyright" line and a pointer to where the full notice is found.
   8.297 -
   8.298 -    <one line to give the program's name and a brief idea of what it does.>
   8.299 -    Copyright (C) <year>  <name of author>
   8.300 -
   8.301 -    This program is free software; you can redistribute it and/or modify
   8.302 -    it under the terms of the GNU General Public License as published by
   8.303 -    the Free Software Foundation; either version 2 of the License, or
   8.304 -    (at your option) any later version.
   8.305 -
   8.306 -    This program is distributed in the hope that it will be useful,
   8.307 -    but WITHOUT ANY WARRANTY; without even the implied warranty of
   8.308 -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   8.309 -    GNU General Public License for more details.
   8.310 -
   8.311 -    You should have received a copy of the GNU General Public License
   8.312 -    along with this program; if not, write to the Free Software
   8.313 -    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   8.314 -
   8.315 -
   8.316 -Also add information on how to contact you by electronic and paper mail.
   8.317 -
   8.318 -If the program is interactive, make it output a short notice like this
   8.319 -when it starts in an interactive mode:
   8.320 -
   8.321 -    Gnomovision version 69, Copyright (C) year name of author
   8.322 -    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
   8.323 -    This is free software, and you are welcome to redistribute it
   8.324 -    under certain conditions; type `show c' for details.
   8.325 -
   8.326 -The hypothetical commands `show w' and `show c' should show the appropriate
   8.327 -parts of the General Public License.  Of course, the commands you use may
   8.328 -be called something other than `show w' and `show c'; they could even be
   8.329 -mouse-clicks or menu items--whatever suits your program.
   8.330 -
   8.331 -You should also get your employer (if you work as a programmer) or your
   8.332 -school, if any, to sign a "copyright disclaimer" for the program, if
   8.333 -necessary.  Here is a sample; alter the names:
   8.334 -
   8.335 -  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
   8.336 -  `Gnomovision' (which makes passes at compilers) written by James Hacker.
   8.337 -
   8.338 -  <signature of Ty Coon>, 1 April 1989
   8.339 -  Ty Coon, President of Vice
   8.340 -
   8.341 -This General Public License does not permit incorporating your program into
   8.342 -proprietary programs.  If your program is a subroutine library, you may
   8.343 -consider it more useful to permit linking proprietary applications with the
   8.344 -library.  If this is what you want to do, use the GNU Library General
   8.345 -Public License instead of this License.
     9.1 --- a/Release/Growl/OpenGrowlPrefPane/OpenGrowlPrefPane.m	Sun Sep 27 20:52:15 2009 -0700
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,11 +0,0 @@
     9.4 -#import <Cocoa/Cocoa.h>
     9.5 -#import "PrefPaneOpener.h"
     9.6 -
     9.7 -int main (int argc, const char * argv[]) {
     9.8 -    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
     9.9 -
    9.10 -	[PrefPaneOpener openPrefPane:@"Growl"];
    9.11 -
    9.12 -    [pool release];
    9.13 -    return 0;
    9.14 -}
    10.1 --- a/Release/Growl/OpenGrowlPrefPane/OpenGrowlPrefPane.xcodeproj/project.pbxproj	Sun Sep 27 20:52:15 2009 -0700
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,325 +0,0 @@
    10.4 -// !$*UTF8*$!
    10.5 -{
    10.6 -	archiveVersion = 1;
    10.7 -	classes = {
    10.8 -	};
    10.9 -	objectVersion = 44;
   10.10 -	objects = {
   10.11 -
   10.12 -/* Begin PBXBuildFile section */
   10.13 -		345BD5600C89AAC4005C3DA2 /* OpenGrowlPrefPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* OpenGrowlPrefPane.m */; settings = {ATTRIBUTES = (); }; };
   10.14 -		345BD5610C89AAC4005C3DA2 /* AEVTBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CD9A570C885E230040C77F /* AEVTBuilder.m */; };
   10.15 -		345BD5630C89AAC4005C3DA2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
   10.16 -		345BD5640C89AAC4005C3DA2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34CD9AAA0C8863C50040C77F /* Cocoa.framework */; };
   10.17 -		345BD56C0C89AAE2005C3DA2 /* OpenPrefPane.m in Sources */ = {isa = PBXBuildFile; fileRef = 345BD56B0C89AAE2005C3DA2 /* OpenPrefPane.m */; };
   10.18 -		345BD56F0C89AB1B005C3DA2 /* PrefPaneOpener.m in Sources */ = {isa = PBXBuildFile; fileRef = 345BD56E0C89AB1B005C3DA2 /* PrefPaneOpener.m */; };
   10.19 -		345BD5710C89ABB0005C3DA2 /* PrefPaneOpener.m in Sources */ = {isa = PBXBuildFile; fileRef = 345BD56E0C89AB1B005C3DA2 /* PrefPaneOpener.m */; };
   10.20 -		34CD9A580C885E230040C77F /* AEVTBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CD9A570C885E230040C77F /* AEVTBuilder.m */; };
   10.21 -		34CD9AAB0C8863C50040C77F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34CD9AAA0C8863C50040C77F /* Cocoa.framework */; };
   10.22 -		8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
   10.23 -/* End PBXBuildFile section */
   10.24 -
   10.25 -/* Begin PBXCopyFilesBuildPhase section */
   10.26 -		345BD5650C89AAC4005C3DA2 /* CopyFiles */ = {
   10.27 -			isa = PBXCopyFilesBuildPhase;
   10.28 -			buildActionMask = 8;
   10.29 -			dstPath = /usr/share/man/man1/;
   10.30 -			dstSubfolderSpec = 0;
   10.31 -			files = (
   10.32 -			);
   10.33 -			runOnlyForDeploymentPostprocessing = 1;
   10.34 -		};
   10.35 -		8DD76F9E0486AA7600D96B5E /* CopyFiles */ = {
   10.36 -			isa = PBXCopyFilesBuildPhase;
   10.37 -			buildActionMask = 8;
   10.38 -			dstPath = /usr/share/man/man1/;
   10.39 -			dstSubfolderSpec = 0;
   10.40 -			files = (
   10.41 -			);
   10.42 -			runOnlyForDeploymentPostprocessing = 1;
   10.43 -		};
   10.44 -/* End PBXCopyFilesBuildPhase section */
   10.45 -
   10.46 -/* Begin PBXFileReference section */
   10.47 -		08FB7796FE84155DC02AAC07 /* OpenGrowlPrefPane.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OpenGrowlPrefPane.m; sourceTree = "<group>"; };
   10.48 -		08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
   10.49 -		32A70AAB03705E1F00C91783 /* OpenGrowlPrefPane_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGrowlPrefPane_Prefix.pch; sourceTree = "<group>"; };
   10.50 -		345BD5690C89AAC4005C3DA2 /* OpenGrowlPrefPane */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = OpenGrowlPrefPane; sourceTree = BUILT_PRODUCTS_DIR; };
   10.51 -		345BD56B0C89AAE2005C3DA2 /* OpenPrefPane.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OpenPrefPane.m; sourceTree = "<group>"; };
   10.52 -		345BD56D0C89AB1B005C3DA2 /* PrefPaneOpener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefPaneOpener.h; sourceTree = "<group>"; };
   10.53 -		345BD56E0C89AB1B005C3DA2 /* PrefPaneOpener.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrefPaneOpener.m; sourceTree = "<group>"; };
   10.54 -		34CD9A560C885E230040C77F /* AEVTBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AEVTBuilder.h; path = ../../../Release/Growl/OpenGrowlPrefPane/AEVTBuilder.h; sourceTree = SOURCE_ROOT; };
   10.55 -		34CD9A570C885E230040C77F /* AEVTBuilder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AEVTBuilder.m; path = ../../../Release/Growl/OpenGrowlPrefPane/AEVTBuilder.m; sourceTree = SOURCE_ROOT; };
   10.56 -		34CD9AAA0C8863C50040C77F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
   10.57 -		8DD76FA10486AA7600D96B5E /* OpenPrefPane */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = OpenPrefPane; sourceTree = BUILT_PRODUCTS_DIR; };
   10.58 -/* End PBXFileReference section */
   10.59 -
   10.60 -/* Begin PBXFrameworksBuildPhase section */
   10.61 -		345BD5620C89AAC4005C3DA2 /* Frameworks */ = {
   10.62 -			isa = PBXFrameworksBuildPhase;
   10.63 -			buildActionMask = 2147483647;
   10.64 -			files = (
   10.65 -				345BD5630C89AAC4005C3DA2 /* Foundation.framework in Frameworks */,
   10.66 -				345BD5640C89AAC4005C3DA2 /* Cocoa.framework in Frameworks */,
   10.67 -			);
   10.68 -			runOnlyForDeploymentPostprocessing = 0;
   10.69 -		};
   10.70 -		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
   10.71 -			isa = PBXFrameworksBuildPhase;
   10.72 -			buildActionMask = 2147483647;
   10.73 -			files = (
   10.74 -				8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */,
   10.75 -				34CD9AAB0C8863C50040C77F /* Cocoa.framework in Frameworks */,
   10.76 -			);
   10.77 -			runOnlyForDeploymentPostprocessing = 0;
   10.78 -		};
   10.79 -/* End PBXFrameworksBuildPhase section */
   10.80 -
   10.81 -/* Begin PBXGroup section */
   10.82 -		08FB7794FE84155DC02AAC07 /* OpenGrowlPrefPane */ = {
   10.83 -			isa = PBXGroup;
   10.84 -			children = (
   10.85 -				08FB7795FE84155DC02AAC07 /* Source */,
   10.86 -				C6859EA2029092E104C91782 /* Documentation */,
   10.87 -				08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
   10.88 -				1AB674ADFE9D54B511CA2CBB /* Products */,
   10.89 -			);
   10.90 -			name = OpenGrowlPrefPane;
   10.91 -			sourceTree = "<group>";
   10.92 -		};
   10.93 -		08FB7795FE84155DC02AAC07 /* Source */ = {
   10.94 -			isa = PBXGroup;
   10.95 -			children = (
   10.96 -				32A70AAB03705E1F00C91783 /* OpenGrowlPrefPane_Prefix.pch */,
   10.97 -				08FB7796FE84155DC02AAC07 /* OpenGrowlPrefPane.m */,
   10.98 -				34CD9A560C885E230040C77F /* AEVTBuilder.h */,
   10.99 -				34CD9A570C885E230040C77F /* AEVTBuilder.m */,
  10.100 -				345BD56B0C89AAE2005C3DA2 /* OpenPrefPane.m */,
  10.101 -				345BD56D0C89AB1B005C3DA2 /* PrefPaneOpener.h */,
  10.102 -				345BD56E0C89AB1B005C3DA2 /* PrefPaneOpener.m */,
  10.103 -			);
  10.104 -			name = Source;
  10.105 -			sourceTree = "<group>";
  10.106 -		};
  10.107 -		08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
  10.108 -			isa = PBXGroup;
  10.109 -			children = (
  10.110 -				34CD9AAA0C8863C50040C77F /* Cocoa.framework */,
  10.111 -				08FB779EFE84155DC02AAC07 /* Foundation.framework */,
  10.112 -			);
  10.113 -			name = "External Frameworks and Libraries";
  10.114 -			sourceTree = "<group>";
  10.115 -		};
  10.116 -		1AB674ADFE9D54B511CA2CBB /* Products */ = {
  10.117 -			isa = PBXGroup;
  10.118 -			children = (
  10.119 -				8DD76FA10486AA7600D96B5E /* OpenPrefPane */,
  10.120 -				345BD5690C89AAC4005C3DA2 /* OpenGrowlPrefPane */,
  10.121 -			);
  10.122 -			name = Products;
  10.123 -			sourceTree = "<group>";
  10.124 -		};
  10.125 -		C6859EA2029092E104C91782 /* Documentation */ = {
  10.126 -			isa = PBXGroup;
  10.127 -			children = (
  10.128 -			);
  10.129 -			name = Documentation;
  10.130 -			sourceTree = "<group>";
  10.131 -		};
  10.132 -/* End PBXGroup section */
  10.133 -
  10.134 -/* Begin PBXNativeTarget section */
  10.135 -		345BD55E0C89AAC4005C3DA2 /* OpenGrowlPrefPane */ = {
  10.136 -			isa = PBXNativeTarget;
  10.137 -			buildConfigurationList = 345BD5660C89AAC4005C3DA2 /* Build configuration list for PBXNativeTarget "OpenGrowlPrefPane" */;
  10.138 -			buildPhases = (
  10.139 -				345BD55F0C89AAC4005C3DA2 /* Sources */,
  10.140 -				345BD5620C89AAC4005C3DA2 /* Frameworks */,
  10.141 -				345BD5650C89AAC4005C3DA2 /* CopyFiles */,
  10.142 -			);
  10.143 -			buildRules = (
  10.144 -			);
  10.145 -			dependencies = (
  10.146 -			);
  10.147 -			name = OpenGrowlPrefPane;
  10.148 -			productInstallPath = "$(HOME)/bin";
  10.149 -			productName = OpenGrowlPrefPane;
  10.150 -			productReference = 345BD5690C89AAC4005C3DA2 /* OpenGrowlPrefPane */;
  10.151 -			productType = "com.apple.product-type.tool";
  10.152 -		};
  10.153 -		8DD76F960486AA7600D96B5E /* OpenPrefPane */ = {
  10.154 -			isa = PBXNativeTarget;
  10.155 -			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "OpenPrefPane" */;
  10.156 -			buildPhases = (
  10.157 -				8DD76F990486AA7600D96B5E /* Sources */,
  10.158 -				8DD76F9B0486AA7600D96B5E /* Frameworks */,
  10.159 -				8DD76F9E0486AA7600D96B5E /* CopyFiles */,
  10.160 -			);
  10.161 -			buildRules = (
  10.162 -			);
  10.163 -			dependencies = (
  10.164 -			);
  10.165 -			name = OpenPrefPane;
  10.166 -			productInstallPath = "$(HOME)/bin";
  10.167 -			productName = OpenGrowlPrefPane;
  10.168 -			productReference = 8DD76FA10486AA7600D96B5E /* OpenPrefPane */;
  10.169 -			productType = "com.apple.product-type.tool";
  10.170 -		};
  10.171 -/* End PBXNativeTarget section */
  10.172 -
  10.173 -/* Begin PBXProject section */
  10.174 -		08FB7793FE84155DC02AAC07 /* Project object */ = {
  10.175 -			isa = PBXProject;
  10.176 -			buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "OpenGrowlPrefPane" */;
  10.177 -			compatibilityVersion = "Xcode 3.0";
  10.178 -			hasScannedForEncodings = 1;
  10.179 -			mainGroup = 08FB7794FE84155DC02AAC07 /* OpenGrowlPrefPane */;
  10.180 -			projectDirPath = "";
  10.181 -			projectRoot = "";
  10.182 -			targets = (
  10.183 -				8DD76F960486AA7600D96B5E /* OpenPrefPane */,
  10.184 -				345BD55E0C89AAC4005C3DA2 /* OpenGrowlPrefPane */,
  10.185 -			);
  10.186 -		};
  10.187 -/* End PBXProject section */
  10.188 -
  10.189 -/* Begin PBXSourcesBuildPhase section */
  10.190 -		345BD55F0C89AAC4005C3DA2 /* Sources */ = {
  10.191 -			isa = PBXSourcesBuildPhase;
  10.192 -			buildActionMask = 2147483647;
  10.193 -			files = (
  10.194 -				345BD5600C89AAC4005C3DA2 /* OpenGrowlPrefPane.m in Sources */,
  10.195 -				345BD5610C89AAC4005C3DA2 /* AEVTBuilder.m in Sources */,
  10.196 -				345BD5710C89ABB0005C3DA2 /* PrefPaneOpener.m in Sources */,
  10.197 -			);
  10.198 -			runOnlyForDeploymentPostprocessing = 0;
  10.199 -		};
  10.200 -		8DD76F990486AA7600D96B5E /* Sources */ = {
  10.201 -			isa = PBXSourcesBuildPhase;
  10.202 -			buildActionMask = 2147483647;
  10.203 -			files = (
  10.204 -				34CD9A580C885E230040C77F /* AEVTBuilder.m in Sources */,
  10.205 -				345BD56C0C89AAE2005C3DA2 /* OpenPrefPane.m in Sources */,
  10.206 -				345BD56F0C89AB1B005C3DA2 /* PrefPaneOpener.m in Sources */,
  10.207 -			);
  10.208 -			runOnlyForDeploymentPostprocessing = 0;
  10.209 -		};
  10.210 -/* End PBXSourcesBuildPhase section */
  10.211 -
  10.212 -/* Begin XCBuildConfiguration section */
  10.213 -		1DEB927508733DD40010E9CD /* Debug */ = {
  10.214 -			isa = XCBuildConfiguration;
  10.215 -			buildSettings = {
  10.216 -				GCC_DYNAMIC_NO_PIC = NO;
  10.217 -				GCC_ENABLE_FIX_AND_CONTINUE = YES;
  10.218 -				GCC_MODEL_TUNING = G5;
  10.219 -				GCC_OPTIMIZATION_LEVEL = 0;
  10.220 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
  10.221 -				GCC_PREFIX_HEADER = OpenGrowlPrefPane_Prefix.pch;
  10.222 -				INSTALL_PATH = /usr/local/bin;
  10.223 -				PRODUCT_NAME = OpenPrefPane;
  10.224 -				ZERO_LINK = YES;
  10.225 -			};
  10.226 -			name = Debug;
  10.227 -		};
  10.228 -		1DEB927608733DD40010E9CD /* Release */ = {
  10.229 -			isa = XCBuildConfiguration;
  10.230 -			buildSettings = {
  10.231 -				GCC_MODEL_TUNING = G5;
  10.232 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
  10.233 -				GCC_PREFIX_HEADER = OpenGrowlPrefPane_Prefix.pch;
  10.234 -				PRODUCT_NAME = OpenPrefPane;
  10.235 -			};
  10.236 -			name = Release;
  10.237 -		};
  10.238 -		1DEB927908733DD40010E9CD /* Debug */ = {
  10.239 -			isa = XCBuildConfiguration;
  10.240 -			buildSettings = {
  10.241 -				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  10.242 -				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
  10.243 -				GCC_WARN_ABOUT_RETURN_TYPE = YES;
  10.244 -				GCC_WARN_UNUSED_VARIABLE = YES;
  10.245 -				PREBINDING = NO;
  10.246 -				SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
  10.247 -			};
  10.248 -			name = Debug;
  10.249 -		};
  10.250 -		1DEB927A08733DD40010E9CD /* Release */ = {
  10.251 -			isa = XCBuildConfiguration;
  10.252 -			buildSettings = {
  10.253 -				ARCHS = (
  10.254 -					ppc,
  10.255 -					i386,
  10.256 -				);
  10.257 -				COPY_PHASE_STRIP = NO;
  10.258 -				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  10.259 -				DEPLOYMENT_POSTPROCESSING = YES;
  10.260 -				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
  10.261 -				GCC_WARN_ABOUT_RETURN_TYPE = YES;
  10.262 -				GCC_WARN_UNUSED_VARIABLE = YES;
  10.263 -				MACOSX_DEPLOYMENT_TARGET = 10.3;
  10.264 -				PREBINDING = NO;
  10.265 -				SEPARATE_STRIP = YES;
  10.266 -				STRIP_INSTALLED_PRODUCT = YES;
  10.267 -			};
  10.268 -			name = Release;
  10.269 -		};
  10.270 -		345BD5670C89AAC4005C3DA2 /* Debug */ = {
  10.271 -			isa = XCBuildConfiguration;
  10.272 -			buildSettings = {
  10.273 -				GCC_DYNAMIC_NO_PIC = NO;
  10.274 -				GCC_ENABLE_FIX_AND_CONTINUE = YES;
  10.275 -				GCC_MODEL_TUNING = G5;
  10.276 -				GCC_OPTIMIZATION_LEVEL = 0;
  10.277 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
  10.278 -				GCC_PREFIX_HEADER = OpenGrowlPrefPane_Prefix.pch;
  10.279 -				INSTALL_PATH = /usr/local/bin;
  10.280 -				PRODUCT_NAME = OpenGrowlPrefPane;
  10.281 -				ZERO_LINK = YES;
  10.282 -			};
  10.283 -			name = Debug;
  10.284 -		};
  10.285 -		345BD5680C89AAC4005C3DA2 /* Release */ = {
  10.286 -			isa = XCBuildConfiguration;
  10.287 -			buildSettings = {
  10.288 -				GCC_MODEL_TUNING = G5;
  10.289 -				GCC_PRECOMPILE_PREFIX_HEADER = YES;
  10.290 -				GCC_PREFIX_HEADER = OpenGrowlPrefPane_Prefix.pch;
  10.291 -				PRODUCT_NAME = OpenGrowlPrefPane;
  10.292 -			};
  10.293 -			name = Release;
  10.294 -		};
  10.295 -/* End XCBuildConfiguration section */
  10.296 -
  10.297 -/* Begin XCConfigurationList section */
  10.298 -		1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "OpenPrefPane" */ = {
  10.299 -			isa = XCConfigurationList;
  10.300 -			buildConfigurations = (
  10.301 -				1DEB927508733DD40010E9CD /* Debug */,
  10.302 -				1DEB927608733DD40010E9CD /* Release */,
  10.303 -			);
  10.304 -			defaultConfigurationIsVisible = 0;
  10.305 -			defaultConfigurationName = Release;
  10.306 -		};
  10.307 -		1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "OpenGrowlPrefPane" */ = {
  10.308 -			isa = XCConfigurationList;
  10.309 -			buildConfigurations = (
  10.310 -				1DEB927908733DD40010E9CD /* Debug */,
  10.311 -				1DEB927A08733DD40010E9CD /* Release */,
  10.312 -			);
  10.313 -			defaultConfigurationIsVisible = 0;
  10.314 -			defaultConfigurationName = Release;
  10.315 -		};
  10.316 -		345BD5660C89AAC4005C3DA2 /* Build configuration list for PBXNativeTarget "OpenGrowlPrefPane" */ = {
  10.317 -			isa = XCConfigurationList;
  10.318 -			buildConfigurations = (
  10.319 -				345BD5670C89AAC4005C3DA2 /* Debug */,
  10.320 -				345BD5680C89AAC4005C3DA2 /* Release */,
  10.321 -			);
  10.322 -			defaultConfigurationIsVisible = 0;
  10.323 -			defaultConfigurationName = Release;
  10.324 -		};
  10.325 -/* End XCConfigurationList section */
  10.326 -	};
  10.327 -	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
  10.328 -}
    11.1 --- a/Release/Growl/OpenGrowlPrefPane/OpenGrowlPrefPane_Prefix.pch	Sun Sep 27 20:52:15 2009 -0700
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,7 +0,0 @@
    11.4 -//
    11.5 -// Prefix header for all source files of the 'OpenGrowlPrefPane' target in the 'OpenGrowlPrefPane' project.
    11.6 -//
    11.7 -
    11.8 -#ifdef __OBJC__
    11.9 -    #import <Foundation/Foundation.h>
   11.10 -#endif
    12.1 --- a/Release/Growl/OpenGrowlPrefPane/OpenPrefPane.m	Sun Sep 27 20:52:15 2009 -0700
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,20 +0,0 @@
    12.4 -#import <Cocoa/Cocoa.h>
    12.5 -#import "PrefPaneOpener.h"
    12.6 -
    12.7 -int main (int argc, const char * argv[]) {
    12.8 -	NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    12.9 -	
   12.10 -	NSArray	*arguments = [[NSProcessInfo processInfo] arguments];
   12.11 -	if ([arguments count] < 2) {
   12.12 -		/* First argument is the path to the executable */
   12.13 -		printf("Specify the name of the preference pane to open.");
   12.14 -		[pool release];
   12.15 -		return -1;
   12.16 -	}
   12.17 -	
   12.18 -	NSString *preferencePaneName = [arguments objectAtIndex:1];
   12.19 -	[PrefPaneOpener openPrefPane:preferencePaneName];
   12.20 -
   12.21 -    [pool release];
   12.22 -    return 0;
   12.23 -}
    13.1 --- a/Release/Growl/OpenGrowlPrefPane/PrefPaneOpener.h	Sun Sep 27 20:52:15 2009 -0700
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,16 +0,0 @@
    13.4 -//
    13.5 -//  PrefPaneOpener.h
    13.6 -//  OpenGrowlPrefPane
    13.7 -//
    13.8 -//  Created by Evan Schoenberg on 9/1/07.
    13.9 -//
   13.10 -
   13.11 -#import <Cocoa/Cocoa.h>
   13.12 -
   13.13 -@interface PrefPaneOpener : NSObject {
   13.14 -
   13.15 -}
   13.16 -
   13.17 -+ (void)openPrefPane:(NSString *)preferencePaneName;
   13.18 -
   13.19 -@end
    14.1 --- a/Release/Growl/OpenGrowlPrefPane/PrefPaneOpener.m	Sun Sep 27 20:52:15 2009 -0700
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,64 +0,0 @@
    14.4 -//
    14.5 -//  PrefPaneOpener.m
    14.6 -//  OpenGrowlPrefPane
    14.7 -//
    14.8 -//  Created by Evan Schoenberg on 9/1/07.
    14.9 -//
   14.10 -
   14.11 -#import "PrefPaneOpener.h"
   14.12 -#import "AEVTBuilder.h"
   14.13 -
   14.14 -/*!
   14.15 - * @class PrefPaneOpener
   14.16 - * @brief Opens a specified preference pane in the System Preferences
   14.17 - *
   14.18 - * This is equivalent to the applescript:
   14.19 - *		tell application "System Preferences" to set current pane to pane "preferencePaneName"
   14.20 - * except it works with any localization, not just English.  Applescript has no way of talking to an application
   14.21 - * with a specified bundle ID.
   14.22 - */
   14.23 -@implementation PrefPaneOpener
   14.24 -
   14.25 -+ (void)openPrefPane:(NSString *)preferencePaneName
   14.26 -{
   14.27 -	ProcessSerialNumber psn;
   14.28 -	
   14.29 -	[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.systempreferences"
   14.30 -														 options:NSWorkspaceLaunchWithoutAddingToRecents
   14.31 -								  additionalEventParamDescriptor:nil
   14.32 -												launchIdentifier:NULL];
   14.33 -	
   14.34 -	NSEnumerator *enumerator = [[[NSWorkspace sharedWorkspace] launchedApplications] objectEnumerator];
   14.35 -	NSDictionary *dict;
   14.36 -	while ((dict = [enumerator nextObject])) {
   14.37 -		if ([[dict objectForKey:@"NSApplicationBundleIdentifier"] isEqualToString:@"com.apple.systempreferences"]) {
   14.38 -			psn.highLongOfPSN = [[dict objectForKey:@"NSApplicationProcessSerialNumberHigh"] longValue];
   14.39 -			psn.lowLongOfPSN  = [[dict objectForKey:@"NSApplicationProcessSerialNumberLow"] longValue];
   14.40 -			break;
   14.41 -		}
   14.42 -	}
   14.43 -	
   14.44 -	/* tell application "System Preferences" to set current pane to pane "preferencePaneName" */
   14.45 -	OSType cSysPrefsPane = 'xppb';
   14.46 -	OSType keySysPrefsCurrentPane = 'xpcp';
   14.47 -	NSAppleEventDescriptor *descriptor = [AEVT class:kCoreEventClass id:kAESetData
   14.48 -											  target:psn,
   14.49 -										  [KEY : keyAEData],
   14.50 -										  [RECORD : cObjectSpecifier,
   14.51 -										   [KEY : keyAEKeyForm],      [ENUM : formName],
   14.52 -										   [KEY : keyAEDesiredClass], [TYPE : cSysPrefsPane],
   14.53 -										   [KEY : keyAEKeyData],      [STRING : preferencePaneName],
   14.54 -										   [KEY : keyAEContainer],    [DESC null],
   14.55 -										   ENDRECORD],
   14.56 -										  [KEY : keyDirectObject],
   14.57 -										  [RECORD : cObjectSpecifier,
   14.58 -										   [KEY : keyAEKeyForm],      [ENUM : formPropertyID],
   14.59 -										   [KEY : keyAEDesiredClass], [TYPE : cProperty],
   14.60 -										   [KEY : keyAEKeyData],      [TYPE : keySysPrefsCurrentPane],
   14.61 -										   [KEY : keyAEContainer],    [DESC null],
   14.62 -										   ENDRECORD],
   14.63 -										   ENDRECORD];
   14.64 -	[descriptor sendWithImmediateReply];	
   14.65 -}
   14.66 -
   14.67 -@end
    15.1 Binary file Release/Growl/scripts/OpenDocWithoutAddingToRecents has changed
    16.1 --- a/Release/Growl/scripts/OpenGrowlAndItsPrefPane	Sun Sep 27 20:52:15 2009 -0700
    16.2 +++ b/Release/Growl/scripts/OpenGrowlAndItsPrefPane	Sun Sep 27 23:40:15 2009 -0700
    16.3 @@ -5,4 +5,4 @@
    16.4  
    16.5  # Open GHA first so that, hopefully, Growl will already be running when the user lands in the prefpane.
    16.6  "${PACKAGE_RESOURCES_DIR}/OpenAppWithoutAddingToRecents" "${INSTALL_DESTINATION_DIR}/Growl.prefPane/Contents/Resources/GrowlHelperApp.app" 
    16.7 -"${PACKAGE_RESOURCES_DIR}/OpenGrowlPrefPane"
    16.8 +"${PACKAGE_RESOURCES_DIR}/OpenDocWithoutAddingToRecents" "${INSTALL_DESTINATION_DIR}/Growl.prefPane"
    17.1 Binary file Release/Growl/scripts/OpenGrowlPrefPane has changed