для этого необходимо использовать 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
маркер появляется снова.