Я надеюсь, что правильно истолковал вашу ситуацию, поняв следующее:
- Вы используете один экземпляр из Google Chrome , который имеет несколько открытых окон, по крайней мере одно из которых находится в режиме в режиме инкогнито ;
- Вы хотите переключить фокус приложения на Google Chrome , но методы, которые вы попробовали, обычно выводят окна normal на передний план, оставляя окна incognito сзади;
- Вы хотите, чтобы переключатель на Google Chrome , по сути, делал обратное, что означало бы вывод инкогнито окон вперед и оставление нормального окна остаются открытыми, но сзади.
Если я вас правильно истолковал, то:
tell application "Google Chrome"
activate
set index of (every window whose mode is "incognito") to 1
end tell
Информация о системе: Версия AppleScript : "2,7", версия системы : "10.13.6"
Команда activate
делает то, что вы ожидаете, и фокусируется на Google Chrome нормальных окнах. Следующая строка устанавливает индекс каждого окна incognito на 1, смещая предыдущий на одно место позади. Окна normal , таким образом, оказываются сзади как естественное следствие этого процесса.
Самое замечательное в том, что Google Chrome выполняет эти две команды без проблем (при обычных условиях). Таким образом, нет видимого мерцания или видимой перестановки окон: окно incognito , которое заканчивается на переднем плане, просто появляется спереди, когда Google Chrome выходит на передний план.
Я не собираюсь гарантировать, что это будет иметь место во всех системах или с большим количеством открытых окон. Но на моем довольно маломощном Macbook 12 "переключатель был плавным при тестировании с 4 нормальными окнами плюс 4 инкогнито окнами.
Я думаю, что порядок окон incognito оказывается обратным тому, что был, но если важно сохранить относительный порядок, то вы можете просто выполнить команду set index...
дважды, что приведет к обратный порядок в обратном порядке. Это, однако, создает самые малые из видимых переходов, когда мы переключаемся с переднего incognito окна на заднее.