Applescript / Bashscript для активации Google Chrome в режиме инкогнито в фоновом режиме - PullRequest
0 голосов
/ 29 августа 2018

Я знаю, как открыть Google Chrome в режиме инконгито:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --incognito

Также я нашел, как закрыть инкогнито Google Chrome:

tell application "Google Chrome"
    close (every window whose mode is "incognito")
end tell

Также от по этой ссылке

tell application "Google Chrome"

    set incognitoIsRunning to the (count of (get every window whose mode is "incognito")) is greater than 0

end tell

if (incognitoIsRunning) then
    say "Shh"
end if

Используя приведенный выше скрипт, я попробовал это:

tell application "Google Chrome"

    set incognitoIsRunning to the (count of (get every window whose mode is "incognito")) is greater than 0

end tell

if (incognitoIsRunning) then
    tell application "Google Chrome" to activate
end if

Но это не активировало Google Chrome в режиме инкогнито, оно активирует обычный режим Google Chrome.

Я использую как обычный, так и инкогнито. (инкогнито играет песни и работает над обычным хромом).

Как мы можем активировать incognito google chrome при работе в обычном режиме Google Chrome?

Обновление Заимствование идеи из этой ссылки

Я получил это:

tell application "System Events" to tell process "Google Chrome"
    perform action "AXRaise" of window 2
    set frontmost to true
end tell

Но это убивает второй Google Chrome, мне нужно активировать инкогнито, несмотря на то, что может быть несколько запущенных нормальных Google Chrome.

Ссылки по теме:

Как проверить, работает ли Chrome в режиме инкогнито с помощью Applescript?

Applescript - Google Chrome активирует определенное окно

1 Ответ

0 голосов
/ 29 августа 2018

Я надеюсь, что правильно истолковал вашу ситуацию, поняв следующее:

  • Вы используете один экземпляр из 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 окна на заднее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...