Как переключаться между несколькими полноэкранными окнами одного и того же приложения в OS X? [Дубликат]

21

Когда я запускаю несколько экземпляров одного и того же приложения (например, отдельные окна Chrome или несколько проектов IntelliJ) в полноэкранном режиме, я не могу перейти к конкретному приложению ⌘-Tab, оно просто показывает один значок приложения, но их несколько. работает в фоновом режиме.

Также для этого не существует ярлыка для конкретного приложения.

введите описание изображения здесь

Есть ли способ сделать ⌘-Tabэкземпляры шоу, а не глобальный значок приложения?

Вак
источник
1
Это не отдельный экземпляр, просто другое окно.
Тецуджин
1
Хорошо, тогда как мне перейти к этому другому окну с ярлыком? :) кроме управления
полетом
1
Это отдельное окно Chrome, я не могу просто нажать Ctrl + Tab, чтобы перейти к следующей вкладке. Единственный вариант, который я видел до сих пор, это управление полетом, которое отстой ...
Вач
1
Я знаю об этом сокращении :( и это работает только для не полноэкранных приложений
vach
1
Я подумал, что это должно быть распространенной проблемой, так как это влияет на любое полноэкранное приложение, которое может иметь несколько окон / экземпляров, держу пари, что я не единственный, кому нужно переключаться между ними :) (может, другие просто используют управление полетом?)
vach

Ответы:

8

К сожалению, нет ярлыка для переключения между полноэкранными окнами одного и того же приложения.

У вас есть две альтернативы , которые не идеальны, но достаточны:

  1. Ярлыки для переключения между пробелами / рабочими столами или перехода к определенному

введите описание изображения здесь

  1. Жесты для переключения между пробелами / рабочими столами

введите описание изображения здесь

Чтобы этот рабочий процесс работал хорошо, просто поместите полноэкранные окна рядом .

Марк
источник
5
это то, что я делаю сейчас :) хотя это все еще связано с трекпадом, но теперь это намного проще и быстрее. до сих пор я не очень понимаю, почему Mac делает это, какой смысл использовать несколько экземпляров, как один, когда цель команды tab - переключиться на то, что вам нужно ...
vach
На верхнем изображении какие нажатия клавиш представляют ^ ← и ^ →?
hippietrail
@hippietrail ^представляет Ctrl, таким образом Ctrl+leftArrow, Ctrl+rightArrow.
Патрик Беркли,
Стоит отметить, что сочетания клавиш Ctrl+ Left Arrowи Ctrl+ Right Arrowдля переключения между пробелами включены по умолчанию.
Шейн Рустл
7

Помимо управления полетом, есть и док.

При повторном нажатии он будет циклически перемещаться по полному экрану приложения.

Redarm
источник
2
О, спасибо, я не знал, что моя док-станция жестко скрывается :) и я больше склонен использовать клавиатуру, чем трекпад / мышь, таким образом, вопрос, но спасибо за ответ :)
vach
не знал этого. Спасибо! Есть ли способ узнать в Dock, существует ли несколько окон? Для не полноэкранного режима есть несколько значков. Но в полноэкранном режиме не отображается AFAICT.
Джавадба
Ничего необычного, о чем я знаю. Вероятно, хорошо известным является список меню «Окно» с несколькими окнами, как показано на скриншоте исходного поста, который отражается в некоторых приложениях (например, Safari), когда на значке Dock нажимается ctrl. или щелчок правой кнопкой мыши, или щелкнул и держал.
Redarm
2
У меня есть док-станция с автоматическим скрытием, но я вижу док-станцию ​​со своего второго монитора ... хотя нажатие на нее, кажется, ни к чему не приводит.
Майкл
2

Если вы знаете, как связать applecript с сочетанием клавиш / жестом трекпада, это ответ для вас.

Сценарий должен быть универсальным. Он использует наиболее обобщенные термины, чтобы включить как можно больше сценариев. Я тестировал на Finder, Script Editor и Firefox. Нет ошибок

Тем не менее, у него есть предостережения:

  1. Сценарий работает только тогда, когда есть только один экземпляр приложения. (Кстати, в тексте ОП все еще говорится «несколько экземпляров».) В него можно включить несколько экземпляров, но это борьба за другой день.

  2. Этот скрипт прокручивает список окон в Windowменю. По сути, он щелкает по элементу, который находится прямо под пунктом с галочкой («✓»). Если элемент с «✓» является последним элементом, сценарий вместо этого щелкнет первый элемент под последней строкой разделителя. Скрипт, который идет назад в обратном направлении, может быть получен путем модификации этого скрипта. Тем не менее, я не вижу, как эти два могут быть объединены в один сценарий.

  3. tryУтверждение , что производит 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 и не хочу делать что-то, что я не знаю, как отменить ... Это автономный вопрос, но есть ли способ сделать резервную копию моей ОС как есть (как виртуальная машина), а затем, если я уничтожил что-то, я мог бы восстановить его из резервной копии ... (у меня нет дополнительной машины времени), просто внешний ssd больше, чем память моих устройств ... Или любые другие варианты, которые вы можете знаете, кроме резервного копирования?
Вач
1
Это работает, но не так хорошо для меня (использование рабочих процессов Альфреда, запуск скрипта osascript). Как бы мы изменили это, чтобы работать для конкретного приложения? («Атом» в моем случае). Может быть, системным событиям требуется время, чтобы найти правильное приложение и т. Д.? Я не уверен, почему это медленно.
Mostruash
Дадите ли вы ссылку на хороший практический совет по установке подобных скриптов? Спасибо.
tidelake