Mac OS: Como posso iniciar o terminal iTerm, com um perfil específico, do Automator ou AppleScript?

4

Estou tentando atribuir um atalho de teclado global que iniciará uma nova janela do iTerm com um perfil específico. (Eu consegui fazer isso para lançar uma nova janela do Chrome com o Automator e AppleScript, mas isso está se mostrando mais difícil)

Isso seria equivalente a ativar o iTerm e, no menu superior, selecionar Perfis - > "meu perfil", com "alt" ou "opção" pressionada, para que seja aberto em uma nova janela, não em uma nova guia na janela atual.

Alguma idéia de como fazer isso com o Automator ou o AppleScript?

Caso seja relevante, eu tenho o Mac OS Mountain Lion

(Desculpe se esta é uma questão absoluta no noob, acabei de me mudar do Windows para o Mac e estou tentando otimizar as coisas que faço o tempo todo)

Obrigado!

    
por Daniel Magliola 31.07.2012 / 19:20

2 respostas

1

A resposta anterior não funciona mais na última versão do iTerm2 (3), pois terminal foi descontinuado. A nova abordagem é usar create window with profile .

No entanto, isso não funciona como esperado: enquanto o iTerm estiver em execução, ele abrirá a nova janela usando o perfil apropriado. Mas se o iTerm não estiver sendo executado, ele abrirá uma janela usando o perfil padrão e, em seguida, abrirá a segunda janela com o outro perfil fornecido. Eu criei o seguinte script para resolver isso:

-- 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

Claro, teria sido muito fácil se o iTerm suportasse parâmetros de linha de comando. Espero que ele em algum momento .

    
por 31.07.2016 / 10:30
4

Combinando as linhas 11 e 58 do código de exemplo AppleScript no site iTerm ...

tell application "iTerm"
activate
tell (make new terminal)
    launch session "Your Profile Name"
end tell
end tell
    
por 31.07.2012 / 20:06