ref: 1fd0ad08ed4840e681e902bc1b9420a1d41619b4
parent: ec74db92724c181962479703092365b332b70b0a
author: Simon Howard <[email protected]>
date: Sat May 7 19:52:26 EDT 2011
Rework OS X launcher package. Include documentation files within the application bundle and add a help menu with links. Rework .dmg generation to generate a file with a "fancy" background image and overall nicer appearance. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2332
--- a/pkg/Makefile.am
+++ b/pkg/Makefile.am
@@ -7,10 +7,13 @@
osx/Resources/wadfile.png \
osx/Resources/launcher.nib/designable.nib \
osx/Resources/launcher.nib/keyedobjects.nib \
+osx/disk/dir.DS_Store \
+osx/disk/background.png \
osx/GNUmakefile \
osx/Info.plist.in osx/Info-gnustep.plist.in \
osx/PkgInfo \
osx/cp-with-libs \
+osx/dmgfix \
osx/main.m \
osx/AppController.m osx/AppController.h \
osx/Execute.m osx/Execute.h \
--- a/pkg/osx/Execute.h
+++ b/pkg/osx/Execute.h
@@ -26,6 +26,7 @@
void SetProgramLocation(const char *path);
void ExecuteProgram(const char *executable, const char *iwad, const char *args);
void OpenTerminalWindow(const char *doomwadpath);
+void OpenDocumentation(const char *filename);
#endif /* #ifndef LAUNCHER_EXECUTE_H */
--- a/pkg/osx/Execute.m
+++ b/pkg/osx/Execute.m
@@ -219,3 +219,13 @@
withApplication: @"Terminal"];
}
+void OpenDocumentation(const char *filename)
+{
+ NSString *path;
+
+ path = [NSString stringWithFormat: @"%s/Documentation/%s",
+ executable_path, filename];
+
+ [[NSWorkspace sharedWorkspace] openFile: path];
+}
+
--- a/pkg/osx/GNUmakefile
+++ b/pkg/osx/GNUmakefile
@@ -20,10 +20,18 @@
# DMG file containing package:
-$(DMG) : $(STAGING_DIR)
+$(DMG) : tmp.dmg
rm -f $@
- hdiutil create -volname "$(PACKAGE_STRING)" -srcdir $(STAGING_DIR) $@
+ ./dmgfix "$(realpath tmp.dmg)" "$(PACKAGE_STRING)" "$(PACKAGE_NAME).app"
+ hdiutil convert -format UDZO -o $@ tmp.dmg
+ rm -f tmp.dmg
+tmp.dmg : $(STAGING_DIR)
+ rm -f $@
+ hdiutil makehybrid -hfs -hfs-volume-name "$(PACKAGE_STRING)" \
+ -hfs-openfolder $(STAGING_DIR) $(STAGING_DIR) \
+ -o tmp.dmg
+
endif
# Staging dir build for package:
@@ -46,12 +54,13 @@
SRC_INFO_PLIST=Info.plist
endif
+APP_DOC_DIR=$(APP_BIN_DIR)/Documentation
+APP_DOC_RELDIR=$(patsubst $(STAGING_DIR)/%,%,$(APP_DOC_DIR))
+
$(STAGING_DIR): launcher $(TOPLEVEL_DOCS)
rm -rf $(STAGING_DIR)
mkdir $(STAGING_DIR)
- cp $(TOPLEVEL_DOCS) "$(STAGING_DIR)"
-
mkdir -p "$(APP_TOP_DIR)"
cp -R Resources "$(APP_TOP_DIR)"
cp PkgInfo "$(APP_TOP_DIR)"
@@ -59,6 +68,13 @@
mkdir -p "$(APP_BIN_DIR)"
+ mkdir -p "$(APP_DOC_DIR)"
+ cp $(TOPLEVEL_DOCS) "$(APP_DOC_DIR)"
+
+ ln -s "$(APP_DOC_RELDIR)/COPYING" "$(STAGING_DIR)/Software License"
+ ln -s "$(APP_DOC_RELDIR)/README" "$(STAGING_DIR)/README"
+ ln -s /Applications "$(STAGING_DIR)"
+
cp launcher "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/launcher"
@@ -69,7 +85,7 @@
$(TOPLEVEL)/man/simplecpp -DPRECOMPILED -D__MACOSX__ \
< $(TOPLEVEL)/man/INSTALL.template \
- > $(STAGING_DIR)/INSTALL
+ > "$(APP_DOC_DIR)/INSTALL"
find $(STAGING_DIR) -name .svn -delete -exec rm -rf {} \; || true
@@ -76,6 +92,9 @@
mkdir -p "$(APP_BIN_DIR)/man/man5" "$(APP_BIN_DIR)/man/man6"
cp $(TOPLEVEL)/man/*.5 "$(APP_BIN_DIR)/man/man5"
cp $(TOPLEVEL)/man/*.6 "$(APP_BIN_DIR)/man/man6"
+ cp disk/dir.DS_Store $(STAGING_DIR)/.DS_Store
+ cp disk/background.png $(STAGING_DIR)/background.png
+# setfile -a V $(STAGING_DIR)/background.png
clean : launcher_clean
rm -f $(DMG)
--- a/pkg/osx/LauncherManager.h
+++ b/pkg/osx/LauncherManager.h
@@ -45,6 +45,12 @@
forArgument: (NSString *) args;
- (void) openTerminal: (id) sender;
+- (void) openREADME: (id) sender;
+- (void) openINSTALL: (id) sender;
+- (void) openCMDLINE: (id) sender;
+- (void) openCOPYING: (id) sender;
+- (void) openDocumentation: (id) sender;
+
@end
#endif /* #ifndef LAUNCHER_LAUNCHERMANAGER_H */
--- a/pkg/osx/LauncherManager.m
+++ b/pkg/osx/LauncherManager.m
@@ -325,6 +325,31 @@
free(doomwadpath);
}
+- (void) openREADME: (id) sender
+{
+ OpenDocumentation("README");
+}
+
+- (void) openINSTALL: (id) sender
+{
+ OpenDocumentation("INSTALL");
+}
+
+- (void) openCMDLINE: (id) sender
+{
+ OpenDocumentation("CMDLINE");
+}
+
+- (void) openCOPYING: (id) sender
+{
+ OpenDocumentation("COPYING");
+}
+
+- (void) openDocumentation: (id) sender
+{
+ OpenDocumentation("");
+}
+
- (void) awakeFromNib
{
[self->launcherWindow setTitle: @PACKAGE_NAME " Launcher"];
--- a/pkg/osx/Resources/launcher.nib/designable.nib
+++ b/pkg/osx/Resources/launcher.nib/designable.nib
@@ -2,19 +2,19 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">10F569</string>
- <string key="IBDocument.InterfaceBuilderVersion">823</string>
- <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.SystemVersion">10J869</string>
+ <string key="IBDocument.InterfaceBuilderVersion">851</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">823</string>
+ <string key="NS.object.0">851</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="29"/>
+ <integer value="370"/>
<integer value="2"/>
- <integer value="227"/>
+ <integer value="228"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -600,6 +600,73 @@
<string key="NSName">_NSWindowsMenu</string>
</object>
</object>
+ <object class="NSMenuItem" id="391919375">
+ <reference key="NSMenu" ref="624798014"/>
+ <string key="NSTitle">Help</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="733442466">
+ <string key="NSTitle">Help</string>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMenuItem" id="860531190">
+ <reference key="NSMenu" ref="733442466"/>
+ <string key="NSTitle">Introduction</string>
+ <string key="NSKeyEquiv">?</string>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ </object>
+ <object class="NSMenuItem" id="378926680">
+ <reference key="NSMenu" ref="733442466"/>
+ <string key="NSTitle">Set up guide</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ </object>
+ <object class="NSMenuItem" id="784926086">
+ <reference key="NSMenu" ref="733442466"/>
+ <string key="NSTitle">Command line reference</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ </object>
+ <object class="NSMenuItem" id="913959081">
+ <reference key="NSMenu" ref="733442466"/>
+ <string key="NSTitle">More documentation...</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ </object>
+ <object class="NSMenuItem" id="258703436">
+ <reference key="NSMenu" ref="733442466"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ </object>
+ <object class="NSMenuItem" id="590365178">
+ <reference key="NSMenu" ref="733442466"/>
+ <string key="NSTitle">Software license</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="819247708"/>
+ <reference key="NSMixedImage" ref="94574589"/>
+ </object>
+ </object>
+ <string key="NSName">_NSHelpMenu</string>
+ </object>
+ </object>
</object>
<string key="NSName">_NSMainMenu</string>
</object>
@@ -921,6 +988,26 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
+ <object class="NSButton" id="811205099">
+ <reference key="NSNextResponder" ref="145141922"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 16}, {25, 25}}</string>
+ <reference key="NSSuperview" ref="145141922"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="33467307">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="407649812"/>
+ <reference key="NSControlView" ref="811205099"/>
+ <int key="NSButtonFlags">-2038415105</int>
+ <int key="NSButtonFlags2">161</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
</object>
<string key="NSFrameSize">{480, 316}</string>
<reference key="NSSuperview"/>
@@ -1312,6 +1399,54 @@
</object>
<int key="connectionID">322</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">openINSTALL:</string>
+ <reference key="source" ref="590266459"/>
+ <reference key="destination" ref="378926680"/>
+ </object>
+ <int key="connectionID">374</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">openCMDLINE:</string>
+ <reference key="source" ref="590266459"/>
+ <reference key="destination" ref="784926086"/>
+ </object>
+ <int key="connectionID">376</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">openDocumentation:</string>
+ <reference key="source" ref="590266459"/>
+ <reference key="destination" ref="913959081"/>
+ </object>
+ <int key="connectionID">378</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">openCOPYING:</string>
+ <reference key="source" ref="590266459"/>
+ <reference key="destination" ref="590365178"/>
+ </object>
+ <int key="connectionID">381</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">openREADME:</string>
+ <reference key="source" ref="590266459"/>
+ <reference key="destination" ref="860531190"/>
+ </object>
+ <int key="connectionID">382</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">openINSTALL:</string>
+ <reference key="source" ref="590266459"/>
+ <reference key="destination" ref="811205099"/>
+ </object>
+ <int key="connectionID">385</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -1442,7 +1577,8 @@
<reference ref="419477060"/>
<reference ref="231654028"/>
<reference ref="729612487"/>
- </object>
+ <reference ref="391919375"/>
+ </object>
<reference key="parent" ref="0"/>
<string key="objectName">MainMenu</string>
</object>
@@ -1693,6 +1829,7 @@
<reference ref="625273251"/>
<reference ref="680095551"/>
<reference ref="658359713"/>
+ <reference ref="811205099"/>
</object>
<reference key="parent" ref="193084417"/>
</object>
@@ -2035,6 +2172,73 @@
<reference key="object" ref="366010945"/>
<reference key="parent" ref="0"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">369</int>
+ <reference key="object" ref="391919375"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="733442466"/>
+ </object>
+ <reference key="parent" ref="624798014"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">370</int>
+ <reference key="object" ref="733442466"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="860531190"/>
+ <reference ref="378926680"/>
+ <reference ref="784926086"/>
+ <reference ref="913959081"/>
+ <reference ref="258703436"/>
+ <reference ref="590365178"/>
+ </object>
+ <reference key="parent" ref="391919375"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">371</int>
+ <reference key="object" ref="860531190"/>
+ <reference key="parent" ref="733442466"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">373</int>
+ <reference key="object" ref="378926680"/>
+ <reference key="parent" ref="733442466"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">375</int>
+ <reference key="object" ref="784926086"/>
+ <reference key="parent" ref="733442466"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">377</int>
+ <reference key="object" ref="913959081"/>
+ <reference key="parent" ref="733442466"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">379</int>
+ <reference key="object" ref="258703436"/>
+ <reference key="parent" ref="733442466"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">380</int>
+ <reference key="object" ref="590365178"/>
+ <reference key="parent" ref="733442466"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">383</int>
+ <reference key="object" ref="811205099"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="33467307"/>
+ </object>
+ <reference key="parent" ref="145141922"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">384</int>
+ <reference key="object" ref="33467307"/>
+ <reference key="parent" ref="811205099"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -2043,6 +2247,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>129.IBPluginDependency</string>
<string>129.ImportedFromIB2</string>
+ <string>130.IBEditorWindowLastContentRect</string>
<string>130.IBPluginDependency</string>
<string>130.ImportedFromIB2</string>
<string>131.IBPluginDependency</string>
@@ -2131,6 +2336,7 @@
<string>238.ImportedFromIB2</string>
<string>239.IBPluginDependency</string>
<string>239.ImportedFromIB2</string>
+ <string>24.IBEditorWindowLastContentRect</string>
<string>24.IBPluginDependency</string>
<string>24.ImportedFromIB2</string>
<string>240.IBPluginDependency</string>
@@ -2158,6 +2364,7 @@
<string>270.ImportedFromIB2</string>
<string>274.IBPluginDependency</string>
<string>274.ImportedFromIB2</string>
+ <string>275.IBEditorWindowLastContentRect</string>
<string>275.IBPluginDependency</string>
<string>275.ImportedFromIB2</string>
<string>281.IBPluginDependency</string>
@@ -2184,10 +2391,22 @@
<string>349.IBPluginDependency</string>
<string>350.IBPluginDependency</string>
<string>351.IBPluginDependency</string>
+ <string>369.IBPluginDependency</string>
+ <string>370.IBEditorWindowLastContentRect</string>
+ <string>370.IBPluginDependency</string>
+ <string>371.IBPluginDependency</string>
+ <string>373.IBPluginDependency</string>
+ <string>375.IBPluginDependency</string>
+ <string>377.IBPluginDependency</string>
+ <string>379.IBPluginDependency</string>
+ <string>380.IBPluginDependency</string>
+ <string>383.IBPluginDependency</string>
+ <string>384.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.ImportedFromIB2</string>
<string>56.IBPluginDependency</string>
<string>56.ImportedFromIB2</string>
+ <string>57.IBEditorWindowLastContentRect</string>
<string>57.IBPluginDependency</string>
<string>57.ImportedFromIB2</string>
<string>58.IBPluginDependency</string>
@@ -2199,6 +2418,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>{{576, 728}, {64, 6}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2231,9 +2451,9 @@
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAwyEAAA</bytes>
</object>
<boolean value="YES"/>
- <string>{{337, 406}, {530, 190}}</string>
+ <string>{{368, 418}, {530, 190}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{337, 406}, {530, 190}}</string>
+ <string>{{368, 418}, {530, 190}}</string>
<boolean value="YES"/>
<boolean value="YES"/>
<boolean value="YES"/>
@@ -2274,13 +2494,13 @@
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
- <bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwgQAAA</bytes>
+ <bytes key="NSTransformStruct">P4AAAL+AAABBYAAAwigAAA</bytes>
</object>
<boolean value="YES"/>
<boolean value="YES"/>
- <string>{{329, 484}, {480, 316}}</string>
+ <string>{{421, 438}, {480, 316}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{329, 484}, {480, 316}}</string>
+ <string>{{421, 438}, {480, 316}}</string>
<boolean value="YES"/>
<boolean value="YES"/>
<string>{213, 107}</string>
@@ -2303,6 +2523,7 @@
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>{{469, 741}, {194, 73}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2330,6 +2551,7 @@
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>{{425, 661}, {151, 153}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2340,7 +2562,7 @@
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
- <string>{{329, 814}, {223, 20}}</string>
+ <string>{{329, 814}, {272, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2357,9 +2579,21 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{540, 701}, {238, 113}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
+ <string>{{341, 611}, {235, 203}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2384,7 +2618,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">351</int>
+ <int key="maxID">385</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -2410,6 +2644,7 @@
</object>
<object class="IBPartialClassDescription">
<string key="className">FirstResponder</string>
+ <string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
@@ -2560,6 +2795,11 @@
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>launch:</string>
+ <string>openCMDLINE:</string>
+ <string>openCOPYING:</string>
+ <string>openDocumentation:</string>
+ <string>openINSTALL:</string>
+ <string>openREADME:</string>
<string>openTerminal:</string>
<string>runSetup:</string>
</object>
@@ -2568,6 +2808,11 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
@@ -2575,6 +2820,11 @@
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>launch:</string>
+ <string>openCMDLINE:</string>
+ <string>openCOPYING:</string>
+ <string>openDocumentation:</string>
+ <string>openINSTALL:</string>
+ <string>openREADME:</string>
<string>openTerminal:</string>
<string>runSetup:</string>
</object>
@@ -2582,6 +2832,26 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">launch:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">openCMDLINE:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">openCOPYING:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">openDocumentation:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">openINSTALL:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">openREADME:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
binary files a/pkg/osx/Resources/launcher.nib/keyedobjects.nib b/pkg/osx/Resources/launcher.nib/keyedobjects.nib differ
binary files /dev/null b/pkg/osx/disk/background.png differ
binary files /dev/null b/pkg/osx/disk/dir.DS_Store differ
--- /dev/null
+++ b/pkg/osx/dmgfix
@@ -1,0 +1,64 @@
+#!/usr/bin/osascript
+--
+-- Copyright(C) 2009 Simon Howard
+--
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 2
+-- of the License, or (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program; if not, write to the Free Software
+-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+-- 02111-1307, USA.
+--
+--
+-- AppleScript script to automatically set the view properties in a
+-- .dmg file - ie. the background image, other Finder view options
+-- and icon positions.
+--
+-- Usage: dmgfix <absolute path to dmg> <disk name> <name of app>
+--
+
+on run argv
+ set dmgFile to POSIX file (item 1 of argv)
+ set diskName to item 2 of argv
+ set appName to item 3 of argv
+
+ tell application "Finder"
+ --activate
+ open dmgFile
+ delay 1
+ set win to the front Finder window
+ set theDisk to disk diskName
+ set the target of win to theDisk
+
+ -- window options:
+
+ set bgfile to file "background.png" of theDisk
+ set the bounds of win to {200, 200, 717, 536}
+ set icon size of icon view options of win to 96
+ set background picture of icon view options of win to bgfile
+ set toolbar visible of win to false
+
+ -- hide background file:
+
+ set bgloc to quoted form of POSIX path of (bgfile as text)
+ do shell script "SetFile -a V " & bgloc
+
+ -- icon positions:
+
+ set position of file "README" of theDisk to {120, 250}
+ set position of file "Software License" of theDisk to {380, 250}
+ set position of file appName of theDisk to {70, 110}
+ set position of file "Applications" of theDisk to {450, 110}
+
+ eject theDisk
+ end tell
+end run
+