启动一个新的实例而不是打开现有的实例?


5

是否有可能让应用程序启动器(Alfred或Spotlight)启动应用程序的新实例(Finder,终端),而不是将我带到现有实例?

我知道这个问题: 如何点击停靠栏中的图标==打开新实例 解决了Dock的一个问题,但是有没有办法通过app启动器实现相同的功能?


1
Finder是一个“特殊”的应用程序,我怀疑你是否希望得到两个运行,即使它在终端上工作,但一般情况是适合脚本 open -n app。这符合您的需求吗?
bmike

我已经同时运行了2个Finder副本,如“强制退出应用程序”窗口中所示。当事情出错时,就会发生这种情况。通常最好重新启动,否则你的Mac可能会在自己的时间和自己的方式为你做这件事。
Wayfaring Stranger

Answers:


5

应用程序的Windows通常不在OS X上调用实例。您可以使用打开新实例 open -n,但是没有办法从UI做到这一点。具有多个实例的应用程序也具有多个Dock图标。

如果你的意思是,你可以在Alfred中为它添加一个动作:

打开新窗口没有标准方法 open 或者AppleScript。您必须为每个应用程序使用不同的术语。

on alfred_script(q)
    tell application (q as text)
        activate
        if number of windows is 0 then
            reopen
        else
            if name is "TextEdit" then
                tell application "TextEdit" to make new document
            else if name is "Finder" then
                tell application "Finder" to make new Finder window
            else if name is "Safari" then
                tell application "Safari" to make new document at beginning with properties {URL:"about:blank"}
            end if
        end if
    end tell
end alfred_script

感谢您的解释:)以及令人敬畏的脚本!
Alex N.


0

每个Mac应用程序往往只有一个首选项plist。 如果您设法运行第二个实例,它将与第一个实例共享首选项。这可能会导致意外行为。 没有简单的方法可以更改App的prefs plist的名称。只需更改应用程序的名称就不会这样做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.