我不时注意到这一点。
一种解决方法是使用 Cocoa-AppleScript Applet 制作您自己的服务应用程序。
这不是很难做到。我会尽力指导你完成它。它应该只需要你几分钟。
步骤1。
打开您的应用程序 Applescript 编辑器。并转到“文件”菜单->“从模板新建”-> Cocoa-AppleScript Applet.app
第2步,
将此代码粘贴到新文档中。
property NSWorkspace : class "NSWorkspace"
tell current application's NSApp to setServicesProvider_(me)
NSUpdateDynamicServices()
my runAService()
on runAService()
NSWorkspace's sharedWorkspace()'s launchAppWithBundleIdentifier_options_additionalEventParamDescriptor_launchIdentifier_("com.apple.Terminal", current application's NSWorkspaceLaunchDefault, missing value, missing value)
tell me to quit
end runAService
第 3 步,
编译
(点击这里编译)
并保存应用程序。
*确保 在保存对话框中未选中显示启动屏幕。
为应用命名,例如LaunchTerminal.app
第 4 步,
单击文档右上角的“捆绑内容”按钮。
这将打开应用程序内容视图。
单击操作按钮,然后单击“在取景器中显示”子菜单。
步骤5,
在查找器中打开的内容文件夹中,您将看到一个文件名“info.plist”
打开 Terminal.app 并使用此文件的路径键入并运行此代码:
但请确保在 Terminal.app 中输入名称时不包含名称的“.plist”部分
/usr/bin/defaults write /Users/YourUserNameHere/myServiceApps/LaunchTerminal.app/Contents/Info NSServices -array-add '{NSMenuItem={default="Launch Terminal";}; NSMessage="runAService"; NSSendTypes=();}'
(您可以将文件拖放到终端以获取 posix 路径字符串)路径部分如下所示:/Users/YourUserNameHere/myServiceApps/LaunchTerminal.app/Contents/Info
此代码应将一个数组添加到 plist 文件中,这是应用程序广播它具有服务的方式的一部分。
步骤6,
再次编译并保存应用程序。
只是为了确保它接受更改。(我发现我必须这样做,即使我不应该这样做)
步骤7,
双击应用程序以首次运行它。
该应用程序将立即退出。但是第一次运行应该广播它有一个应该向系统注册的服务
步骤8,
打开系统首选项并转到服务 -> 常规(部分)
您将看到“启动终端”服务。
像往常一样设置你的捷径。
希望这可以帮助..
更新 :
我注意到告诉应用程序“终端”要激活。如果我之前将它们全部关闭并退出终端,则不会打开我的默认窗口组。如果我这样做了,正常的行为是打开我的默认窗口组。(我在启动时打开了两个选项卡,每个 cd'd 到不同的路径)。
因此,我将打开的应用程序更改为可可的方式。
一个打开/application/path/的do shell脚本。也将工作。