[Python-checkins] bpo-40477: macOS Python Launcher app fixes for recent macOS releases (GH-30348)

ned-deily webhook-mailer at python.org
Mon Jan 3 01:20:15 EST 2022


https://github.com/python/cpython/commit/549e62827262264cda30455e10e315602129da72
commit: 549e62827262264cda30455e10e315602129da72
branch: main
author: Ned Deily <nad at python.org>
committer: ned-deily <nad at python.org>
date: 2022-01-03T01:19:59-05:00
summary:

bpo-40477: macOS Python Launcher app fixes for recent macOS releases (GH-30348)

This change solves two problems encountered by users of the macOS Python Launcher app on recent macOS releases (10.14+):

- The launcher app was no longer able to launch the macOS Terminal.app to run a script.

- Even if Terminal.app was already launched, the launcher app was unable to send an Apple Event to Terminal.app to open and run Python with the desired .py file.

files:
A Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst
M Mac/PythonLauncher/Info.plist.in
M Mac/PythonLauncher/doscript.m

diff --git a/Mac/PythonLauncher/Info.plist.in b/Mac/PythonLauncher/Info.plist.in
index 70f215d07249b..dec0a2eaf5c56 100644
--- a/Mac/PythonLauncher/Info.plist.in
+++ b/Mac/PythonLauncher/Info.plist.in
@@ -3,7 +3,7 @@
 <plist version="1.0">
 <dict>
 	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
+	<string>en</string>
 	<key>CFBundleDocumentTypes</key>
 	<array>
 		<dict>
@@ -39,6 +39,8 @@
 	</array>
 	<key>CFBundleExecutable</key>
 	<string>Python Launcher</string>
+	<key>NSHumanReadableCopyright</key>
+	<string>Copyright © 2001-2022 Python Software Foundation</string>
 	<key>CFBundleGetInfoString</key>
 	<string>%VERSION%, © 2001-2022 Python Software Foundation</string>
 	<key>CFBundleIconFile</key>
@@ -61,5 +63,7 @@
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
 	<string>NSApplication</string>
+	<key>NSAppleEventsUsageDescription</key>
+	<string>Python Launcher uses Apple events to launch your Python script in a Terminal window.</string>
 </dict>
 </plist>
diff --git a/Mac/PythonLauncher/doscript.m b/Mac/PythonLauncher/doscript.m
index cbb783ba3e893..f07326bce46fb 100644
--- a/Mac/PythonLauncher/doscript.m
+++ b/Mac/PythonLauncher/doscript.m
@@ -19,7 +19,7 @@
     AEDesc desc;
     OSStatus err;
 
-    [[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Utilities/Terminal.app/"];
+    [[NSWorkspace sharedWorkspace] launchApplication:@"Terminal.app"];
 
     // Build event
     err = AEBuildAppleEvent(kAECoreSuite, kAEDoScript,
diff --git a/Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst b/Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst
new file mode 100644
index 0000000000000..fc953b85dcc2a
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst
@@ -0,0 +1,2 @@
+The Python Launcher app for macOS now properly launches scripts and, if
+necessary, the Terminal app when running on recent macOS releases.



More information about the Python-checkins mailing list