Trabajando en la construcción de un controlador que pasa la ventana de la terminal, llama al ID para una secuencia de comandos que he encontrado con resultados mixtos y siento curiosidad por si hay una forma más limpia de obtener window 1
El controlador:
on termHandler()
set activeTerminal to ""
if application "Terminal" is running then
tell application "Terminal"
if not (exists window 1) and not busy of window 1 then
activate
tell application "Terminal" to do script "echo snow" in window 1
else
tell application "Terminal" to do script "date" in window 1
set activeTerminal to window 1
return activeTerminal
end if
do script "echo foo"
activate
set activeTerminal to window 1
return activeTerminal
end tell
else
tell application "Terminal"
activate
do script "echo bar" in window 1
set activeTerminal to window 1
return activeTerminal
end tell
end if
end termHandler
Todo lo que he leído e investigado:
- Applescript para abrir una NUEVA ventana de terminal en la actual espacio
- Terminal abierto a través de AppleScript
- Applescript para abrir Windows de estilo de terminal específico
- Script abre dos ventanas de terminal
- Enviando comandos y cadenas a Terminal.app con Applescript
Sugiere que AppleScript y Terminal no se llevan bien. Mi sistema operativo actual es Sierra. Estoy escribiendo esto, pero en otras casillas he ejecutado Yosemite, que usaría este script. Mi objetivo final aquí es identificar una ventana de Terminal en ese espacio en particular y disparar un poco de do script
pero parece que tengo un problema al hacerlo. ¿Hay una manera más fácil de identificar si el Terminal se está ejecutando, no crear una nueva ventana y si se está ejecutando, devuelva el window 1
como variable para que pueda pasarlo do script
?