Allow this to run both standalone and as a window in the IDE.
diff --git a/Mac/Tools/IDE/PackageManager.py b/Mac/Tools/IDE/PackageManager.py
index a93d683..6b83e1c 100755
--- a/Mac/Tools/IDE/PackageManager.py
+++ b/Mac/Tools/IDE/PackageManager.py
@@ -1,3 +1,37 @@
+# Prelude to allow running this as a main program
+def _init():
+	import macresource
+	import sys, os
+	macresource.need('DITL', 468, "PythonIDE.rsrc")
+	widgetrespathsegs = [sys.exec_prefix, "Mac", "Tools", "IDE", "Widgets.rsrc"]
+	widgetresfile = os.path.join(*widgetrespathsegs)
+	if not os.path.exists(widgetresfile):
+		widgetrespathsegs = [os.pardir, "Tools", "IDE", "Widgets.rsrc"]
+		widgetresfile = os.path.join(*widgetrespathsegs)
+	refno = macresource.need('CURS', 468, widgetresfile)
+	if os.environ.has_key('PYTHONIDEPATH'):
+		# For development set this environment variable
+		ide_path = os.environ['PYTHONIDEPATH']
+	elif refno:
+		# We're not a fullblown application
+		idepathsegs = [sys.exec_prefix, "Mac", "Tools", "IDE"]
+		ide_path = os.path.join(*idepathsegs)
+		if not os.path.exists(ide_path):
+			idepathsegs = [os.pardir, "Tools", "IDE"]
+			for p in sys.path:
+				ide_path = os.path.join(*([p]+idepathsegs))
+				if os.path.exists(ide_path):
+					break
+		
+	else:
+		# We are a fully frozen application
+		ide_path = sys.argv[0]
+	if ide_path not in sys.path:
+		sys.path.insert(0, ide_path)
+		
+if __name__ == '__main__':
+	_init()
+	
 import W
 import Wapplication
 from Carbon import Evt
@@ -69,7 +103,7 @@
 		
 		self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows')
 		self.makeopenwindowsmenu()
-		self._menustocheck = [closeitem, saveasitem, 
+		self._menustocheck = [closeitem, 
 				undoitem, cutitem, copyitem, pasteitem, 
 				selallitem,
 				runitem, homepageitem]