4

Я пытаюсь назначить глобальное сочетание клавиш, которое запустит новое окно iTerm с определенным профилем. (Мне удалось сделать это, чтобы запустить новое окно Chrome с Automator и AppleScript, но это оказывается сложнее)

Это было бы эквивалентно активации iTerm, и в верхнем меню выберите "Профили" -> "мой профиль" с нажатой клавишей "alt" или "опция", так что он откроется в новом окне, а не в новой вкладке в текущем окне. ,

Есть идеи, как это сделать с помощью Automator или AppleScript?

В случае, если это актуально, у меня есть Mac OS Mountain Lion

(Извините, если это абсолютный вопрос, я только что перешел с Windows на Mac, и я пытаюсь оптимизировать то, что я делаю все время)

Спасибо!

2 ответа2

4

Объединение строк 11 и 58 примера кода AppleScript на веб-сайте iTerm ...

tell application "iTerm"
activate
tell (make new terminal)
    launch session "Your Profile Name"
end tell
end tell
1

Предыдущий ответ больше не работает на последней версии iTerm2 (3), так как terminal был прекращен. Новый подход заключается в использовании create window with profile .

Однако это работает не так, как ожидалось: во время работы iTerm оно откроет новое окно, используя соответствующий профиль. Но если iTerm не запущен, он откроет окно с использованием профиля по умолчанию, а затем откроет второе окно с другим профилем, входящим в комплект поставки. Я придумал следующий скрипт для решения этой проблемы:

-- this script will start/activate iTerm (close the default window if the app had been newly started), then open a new session with a desired profile

on is_running(appName)
    tell application "System Events" to (name of processes) contains appName
end is_running

set iTermRunning to is_running("iTerm2")

tell application "iTerm"
    activate
    if not (iTermRunning) then
        delay 0.5
        close the current window
    end if
    create window with profile "xxxxxx"
end tell

Конечно, было бы действительно легко, если бы iTerm поддерживал параметры командной строки. Надеюсь, это будет в какой-то момент.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .