Как открыть новое окно Firefox с терминалом

Я использую Firefox v10.0.1 с OS X Lion v10.7.3

из док-станции Apple, вы можете нажать правой кнопкой мыши на иконку Firefox и выберите NEW и откроется новое окно Firefox.

из терминала, я пробовал

    open -n /Applications/Firefox.app

но там написано (при условии, что Firefox уже открыт)

копия Firefox уже открыта. Одновременно может быть открыта только одна копия Firefox.

Как открыть Новое Окно in Firefox из командной строки терминала?

12
задан slhck
11.11.2022 6:59 Количество просмотров материала 3325
Распечатать страницу

1 ответ

для этого необходимо использовать AppleScript. Идеальным решением было бы использовать встроенную функцию из Firefox, но она не предлагает ее – ее словарь AppleScript очень ограничен. Поэтому мы должны эмулировать сочетания клавиш.

Открой ~/.bash_profile и добавьте следующую функцию оболочки:

function firefox-window() {
/usr/bin/env osascript <<-EOF
tell application "System Events"
    if (name of processes) contains "Firefox" then
        tell application "Firefox" to activate
        keystroke "n" using command down
    else
        tell application "Firefox" to activate
    end if
end tell
EOF
}

этой osascript, который выполняет команды AppleScript, затем активирует Firefox, а затем эмулирует ⌘N нажатие клавиши-но только если уже запущенный. Если нет, то Firefox будет просто открыт, так что вы не получите два новых окна. Также вы можете обменять "n" to "t" получить новые вкладки, очевидно.

сохранить ~/.bash_profile file и введите source ~/.bash_profile перезагрузить его. Затем просто вызовите следующую функцию всякий раз, когда вам нужно новое окно Firefox:

firefox-window

конечно, вы можете изменить имя функции.

если вы хотите передать аргумент URL из командной строки, см. Это ответ: как открыть новое окно Firefox с аргументом URL.


~/.bash_profile, где должны находиться все ваши пользовательские функции. Если файл не существует, его можно просто создать.

Shell функции более мощные, чем псевдонимы, например, они позволяют использовать аргументы. Теоретически вы также можете передать URL-адрес нового окна, а затем сказать Firefox, чтобы открыть его с помощью OpenURL или Get URL команда - но я их не пробовал.

о синтаксисе используется:<<-EOF это документ, что облегчает передачу многострочного ввода в osascript. Входные данные будут проанализированы до EOF маркер появляется снова.

4
отвечен slhck 2022-11-12 14:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх