Я создал сервис в автоматоре и назначил ярлык, и он работает.
Но это не запускает новый терминал iTerm. Он показывает только уже запущенный
Как я могу открыть новую «вкладку» или новое «окно iTerm»?
Вы можете изменить действие в службе, определенной Automator, на действие AppleScript:
if application "iTerm" is not running then
activate application "iTerm"
else
tell application "iTerm"
create window with default profile
activate
end tell
end if
Это открывает iTerm, если он не запущен, иначе открывается новое окно. Дополнительные примеры сценариев AppleScript для iTerm см. в документации по iTerm.
Вы можете использовать сочетание клавиш iTerm:
Вы также можете сделать это с помощью skhd.
.skhdrc
:
ctrl + cmd - t : osascript /Users/user/Library/Scripts/new-iterm-window.scpt
new-iterm-window.scpt
:
tell application "iTerm"
create window with default profile
activate
end tell
Это немного быстрее, чем через стандартный подход сервисы-ярлыки-меню. Он работает буквально в любом приложении, даже в том, в котором нет сервисного меню или занят этот конкретный ярлык, так как skhd сначала перехватывает клавиши.
Вы можете создать AppleScript, который имитирует ввод человека вручную. Другими словами, перетащите AppleScript и заставьте приложение стать самым передним приложением, а затем вызовите щелчок контекстного меню, как если бы вы щелкнули его мышью. Затем повторно сохраните его как свой сервис.
И пример, но не специфичный для вашего приложения:
activate application "ApplicationName"
tell application "System Events"
tell process "ApplicationName"
keystroke "n" using {command down}
delay 1
end tell
end tell
БлкПенгу