Función de salida genérica para iTerm2

2

Recientemente he empezado a usar iTerm2 en lugar de la aplicación macOS Terminal y estoy muy contento con él. Estoy muy acostumbrado a usar el comando exit para cerrar la instancia que actualmente tiene el foco. Con instancia me refiero a uno de los siguientes: pestaña, ventana o panel dividido.

¿Cómo puedo escribir una salida de función que cierre la instancia que se está ejecutando actualmente? La siguiente solución funciona para Windows pero no para pestañas ni para paneles divididos:

function exit {
    osascript -e 'tell application "iTerm2" to close first window'
}

La solución debería funcionar con zsh o bash .

    
pregunta datell 18.06.2018 - 13:58

3 respuestas

0

La sección Scripting de la documentación de iTerm2 me ayudó a solucionar mi problema.

En .zshrc definí la siguiente función:

function exit {
    osascript ~/.zsh/.function_exit.as
}

Con ~/.zsh/.function_exit.as as

tell application "iTerm2"
    tell current window to close current session
end tell

Además, establezco la siguiente opción en la configuración de iTerm2:

Usandotodosloselementosanterioresjuntos,logroelsiguientecomportamiento:

Dado que esto no depende del Shell utilizado, todo debería funcionar perfectamente con bash (y el correspondiente archivo de puntos).

    
respondido por el datell 18.06.2018 - 21:37
2

En Terminal, la configuración predeterminada para manejar sesiones cerradas es dejar la ventana abierta.

En Preferencias > Perfiles:

EniTerm2,elvalorpredeterminadoescerrarlaventana

Si deshabilitas esa opción en iTerm2, debería darte el comportamiento que estás buscando.

    
respondido por el Allan 18.06.2018 - 18:12
0

en tu perfil. Podrías agregar

alias killiTerm2 = 'killall iTerm2'

desde el terminal, solo llamarías a killiTerm2, y mataría a cada instancia en ejecución de iTerm2

    
respondido por el Rodaddy 18.06.2018 - 14:52

Lea otras preguntas en las etiquetas