在当前空间中打开新的终端窗口,而不管在其他空间中是否打开其他终端


14

在Mac OS X上使用Spaces时,尝试打开新的终端实例会导致焦点被拉到具有最近访问的终端窗口的任何空间。使用Finder,我可以单击“桌面”,然后使用- N创建一个新的Finder窗口。我正在寻找的是一种用于终端窗口执行相同功能的方法。

我如何在当前空间中创建一个新的Terminal实例,而不管一个或多个其他空间中是否存在另一个Terminal实例。

谢谢。


我喜欢这个问题,但认为应该针对超级用户。

Answers:


4

您可以使用automator(从应用程序文件夹)创建新服务。在自动化器窗口的顶部,输入:服务在“任何应用程序”中接收“无输入”。然后,在工作流程中,添加“运行applescript”。使小程序包含以下内容:

on run {input, parameters}

    tell application "Terminal"
        do script ""
        activate
    end tell

    return input
end run

(您可以在“”之间的do脚本行中添加所需的任何命令(例如,在终端机首次打开时可以运行的有用命令,uptime如您愿意的话,或将其留空)。

将服务另存为“ Open Terminal”或您喜欢的任何名称。它现在应该出现在您的服务菜单中。

然后,如果要添加键盘快捷键,只需转到“系统偏好设置”->“键盘”->“键盘快捷键”选项卡,在左侧菜单中选择服务,然后找到新服务(它可能位于底部)。只需单击服务名称右侧的空格,然后为它分配所需的任何键盘快捷键即可,嘿!应该都可以


1
应该注意的是,这确实提供了所要求的功能。作为次要编辑,您需要在当前do shell script " "行中打开该行以在当前空间中打开一个新窗口,但无需将Shell脚本留为空白。如果是空格,则会导致终端以命令的形式运行空格,从而导致执行延迟和新终端窗口中的多余行。只需将其设置为一个完全空的字符串即可:do shell script ""然后它会打开一个新的终端窗口,但不会在其中发出任何命令。
2013年

是的,你是对的。我已经更新了答案,以消除引号之间的空格。但是,为了工作,它必须是@dakota所建议的do script "",而不是do shell script ""
tmdavison

3

在“系统偏好设置”->“空间”中的应用程序分配中,将“终端”设置为“每个空间”或删除条目。这样就可以在任何地方打开新的终端窗口,例如单击停靠上下文菜单“新窗口”(即使您具有“切换到应用程序时,从该窗口切换到具有打开窗口的空间”也可以)应用”选项启用)。


据我所知,第一句话是无关紧要的。通过诸如AppleScript或快捷键之类的方法打开新窗口时,将其设置为“每个空间”仍会更改空间,并且无论此设置如何,停靠上下文菜单都不会更改该空间。这个答案中有趣的一件事是“当切换到一个应用程序时,从该应用程序打开的窗口切换到空间”选项。禁用它可以“修复”键绑定/ AppleScript的大小写,但是不幸的是“中断”了命令选项卡。如果只有OS-X具有适当的“循环窗口”键绑定,则可以在所有空间中所有应用程序的所有窗口中使用键绑定。
Laurence Gonsalves

@LaurenceGonsalves,您可以使用向左/向右箭头在所有空间中的所有终端窗口之间循环。有帮助吗?
克里斯·佩奇

@Chris,这是一组有趣的快捷方式,谢谢,但是它们不能解决我所指的问题。如果禁用了“切换到应用程序时...”设置,并且您所在的空间没有终端窗口,并且您在命令标签中选择了“终端”,则不会切换到具有“终端”窗口的空间,并且命令反引号不会执行任何操作。令人惊讶的是,在这种情况下,左/右箭头也不起作用(至少在Snow Leopard上)。如果当前应用程序中的某个窗口具有焦点,则这些键将在多个窗口之间切换,但是如果没有窗口具有焦点,则它们将不执行任何操作。
劳伦斯·贡萨尔维斯

2
tell application "Terminal"
    do script ""
    activate
end tell

要使此功能在Lion下工作,请在新的AppleScript窗口中键入以上内容并保存。通过命令启动器(如QuickSilver)调用脚本或将其分配给键盘快捷键。即使您已在Mission Control中启用了“切换到应用程序时,切换到该应用程序具有打开的窗口的空间”设置,此设置也应起作用。诀窍是最后而不是在开始时执行activate命令。


或者,使用Automator创建服务,然后使用在系统偏好设置中设置的键盘快捷方式激活该服务:apple.stackexchange.com/a/13655/36722
Dakota,

0

如果使用停靠菜单打开一个新窗口,它将在当前空间中打开。


有没有办法从键盘上做到这一点?
Laurence Gonsalves

Control-F3是“将焦点移至Dock”。您可以使用箭头键浏览终端的Dock图标菜单。您也可以键入以按名称选择菜单项,例如,键入“ N”或“ New W”。请参阅系统偏好设置>键盘>键盘快捷方式>键盘和文本输入,以查看用于选择和浏览UI的所有键盘快捷方式。
克里斯·佩奇

可以这样做。您需要使用Automator创建特殊服务,然后可以将其绑定到系统偏好设置中的键盘快捷键:apple.stackexchange.com/a/13655/36722
Dakota

0

使用以下命令切换应用程序时,可以自动禁用OSX切换空间:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

适用于10.6.8


也有一个GUI设置,它在“任务控制”中。
SilverWolf-恢复莫妮卡
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.