Lavorando sulla costruzione di un Handler che passa la finestra del terminale chiama quindi l'ID per uno script che ho eseguito in risultati misti e sono curioso di sapere se c'è un modo più pulito per ottenere window 1
Il gestore:
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
Tutto ciò che ho letto e ricercato:
- Apripista per aprire una NUOVA finestra di terminale in corrente spazio
- Apri terminale tramite AppleScript
- Apripista per aprire specifiche finestre di stile del terminale
- Script apre due finestre di terminale
- Invio di comandi e stringhe a Terminal.app con Applescript
Suggerisce che AppleScript e Terminal non vanno d'accordo. Il mio sistema operativo attuale è Sierra. Sto scrivendo questo, ma in altre scatole ho eseguito Yosemite che userebbe questo script. Il mio obiettivo finale qui è identificare una finestra di Terminale in quello spazio particolare e sparare un po 'di do script
, ma sembra che abbia un problema a farlo. C'è un modo più semplice per identificare se il terminale è in esecuzione, non creare una nuova finestra e se è in esecuzione restituire window 1
come variabile in modo che possa passarlo do script
?