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.
This commit is contained in:
Ned Deily 2022-01-03 01:19:59 -05:00 committed by GitHub
parent fedefa6735
commit 549e628272
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 2 deletions

View File

@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>English</string> <string>en</string>
<key>CFBundleDocumentTypes</key> <key>CFBundleDocumentTypes</key>
<array> <array>
<dict> <dict>
@ -39,6 +39,8 @@
</array> </array>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>Python Launcher</string> <string>Python Launcher</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2001-2022 Python Software Foundation</string>
<key>CFBundleGetInfoString</key> <key>CFBundleGetInfoString</key>
<string>%VERSION%, © 2001-2022 Python Software Foundation</string> <string>%VERSION%, © 2001-2022 Python Software Foundation</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
@ -61,5 +63,7 @@
<string>MainMenu</string> <string>MainMenu</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>
<string>NSApplication</string> <string>NSApplication</string>
<key>NSAppleEventsUsageDescription</key>
<string>Python Launcher uses Apple events to launch your Python script in a Terminal window.</string>
</dict> </dict>
</plist> </plist>

View File

@ -19,7 +19,7 @@ doscript(const char *command)
AEDesc desc; AEDesc desc;
OSStatus err; OSStatus err;
[[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Utilities/Terminal.app/"]; [[NSWorkspace sharedWorkspace] launchApplication:@"Terminal.app"];
// Build event // Build event
err = AEBuildAppleEvent(kAECoreSuite, kAEDoScript, err = AEBuildAppleEvent(kAECoreSuite, kAEDoScript,

View File

@ -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.