如何在OS X中的同一应用程序的多个全屏窗口之间切换?[重复]


21

当我在全屏模式下运行同一应用程序的多个实例(可能是Chrome单独的窗口或多个IntelliJ项目)时,我无法使用导航到具体的应用程序⌘-Tab,它只会显示该应用程序的一个图标,但其中有几个在后台运行。

也没有应用程序专用的快捷方式可以执行此操作。

在此处输入图片说明

有没有办法制作⌘-Tab显示实例而不是全局应用程序图标?


1
它不是一个单独的实例,而只是另一个窗口。
Tetsujin 2015年

1
好的,然后如何使用快捷方式导航到另一个窗口?:)除外任务控制
vach

1
它是一个单独的Chrome窗口,我不能只按Ctrl + Tab切换到下一个选项卡。到目前为止,我看到的唯一选择是任务控制很糟糕……
vach 2015年

1
我知道该shorcut :(而且它仅适用于非全屏应用程序
2015年

1
我坚信这应该是一个普遍的问题,因为这会影响具有很少的窗口/实例的任何完整的screan应用程序,我敢打赌我不是唯一一个需要在它们之间切换的应用程序:)(也许其他人只是使用任务控制?)
vach

Answers:


8

不幸的是,没有快捷方式可以在同一应用程序的全屏窗口之间切换。

您有两种不理想但足够的选择:

  1. 在空间/桌面之间切换或跳转到特定位置的快捷方式

在此处输入图片说明

  1. 在空间/桌面之间切换的手势

在此处输入图片说明

为使此工作流程正常运行,只需将全屏窗口并排放置


5
多数民众赞成在我现在做的事情:)艰难的是它仍然涉及触控板,但是现在它变得更加容易和快捷。我仍然不太明白为什么Mac
会这样做,

在上图中,^←和^→代表什么按键?
hippietrail

@hippietrail ^代表Ctrl,所以Ctrl+leftArrowCtrl+rightArrow
Patrick Berkeley

值得注意的是,默认情况下启用了在空格之间切换的Ctrl+ Left ArrowCtrl+ Right Arrow快捷键。
Shane Reustle,

7

除任务控制外,还有码头。

当您反复单击时,它将在应用程序的全屏空间之间循环。


2
哦,谢谢,我不知道,我的基座是自动隐藏的:),而且我更倾向于使用键盘而不是触控板/鼠标,因此这是一个问题,但感谢您的回答:)
2015年

不知道。谢谢!有没有办法在Dock上识别是否存在多个窗口?对于非全屏模式,有多个图标。但是“全屏”未显示AFAICT。
javadba

我所知道的与众不同。如原始帖子的屏幕快照所示,可能是众所周知的多个窗口的“窗口”菜单列表,这些视图在某些应用程序(例如Safari)中被镜像,当您按住Ctrl键单击或右键单击Dock图标时,或点击并按住。
Redarm '16

2
我也有一个自动隐藏的扩展坞,但是我可以从第二台显示器上看到扩展坞……单击它似乎并没有循环显示任何内容。
迈克尔

2

如果您知道如何将小程序绑定到键盘快捷键/触控板手势,这就是您的答案。

该脚本具有通用性。它使用最笼统的术语来包含尽可能多的方案。我已经在Finder,脚本编辑器和Firefox上进行了测试。没有错误。

但是,它有一些警告:

  1. 该脚本仅在一个应用程序只有一个实例时才起作用。(顺便说一句,它仍然在OP文本中说“几个实例”。)可以在其中使用多实例,但这又是另一回事。

  2. 该脚本向下滚动Window菜单中的窗口列表。本质上,它单击带有复选标记(“✓”)的项目正下方的项目。如果带有“✓”的项目是最后一个项目,脚本将改为单击最后一个分隔线下面的第一个项目。通过修改此脚本可以获得反向的脚本。但是,我看不到如何将两者组合成一个脚本。

  3. try生成an 的语句errorMessage是我知道生成的索引的最有效的CPU方法separator。如果您知道更好的方法,请赐教。

剧本:

tell application "System Events" to tell (first application process whose frontmost is true) to tell menu bar 1 to tell menu "Window"

    set cellingSeperator to last menu item whose value of attribute "AXEnabled" is false
    set checkedItem to first menu item whose value of attribute "AXMenuItemMarkChar" is "✓"

    try
        set intentionalError to cellingSeperator as Unicode text
    on error errorMessage
        set firstItemIndex to (characters ((offset of "«class menI» " in errorMessage) + 13) through ((offset of " of" in errorMessage) - 1) of errorMessage as string as integer) + 1
    end try

    repeat with iterator from firstItemIndex to number of menu items
        if value of attribute "AXFrame" of menu item iterator is equal to value of attribute "AXFrame" of checkedItem then
            set clickItemIndex to iterator + 1
            exit repeat
        end if
    end repeat

    if clickItemIndex is greater than number of menu items then set clickItemIndex to firstItemIndex

    tell menu item clickItemIndex to perform action "AXPress"

end tell

谢谢,我有时会尝试一下,也许会添加multiInstance部分,但是我是Mac的新手,不想做一些我不知道如何撤消的事情……这是不切实际的问题,但是有办法备份我的操作系统就像它一样(如vm),然后如果我破坏了某些东西,我可以从备份中恢复它...(我没有额外的时间机器东西),只是外部ssd比我的设备内存大...或者您可能有其他选择知道除了备份吗?
vach 2015年

1
这行得通,但对我而言并不是那么好(使用Alfred工作流,在上运行脚本osascript)。我们将如何修改它以使其适用于特定应用程序?(在我的情况下为“ Atom”)。也许系统事件需要一段时间才能找到正确的应用程序等?我不知道为什么它慢。
mostruash

您是否会提供一个链接,以指导您安装此类脚本?谢谢。
tidelake
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.