Come usare osascript per aprire l'App Terminal in una nuova finestra e assicurarti che sia nella parte superiore di tutte le altre finestre?


3

Ho trovato un modo per aprire Terminal.app in modo molto utile come:

osascript -e \'tell application "Terminal" to do script "cd myfolder && ./something.sh param1"\'

Se è stato eseguito da una finestra di terminale, tutto va bene, almeno per ogni caso che provo. Comunque, eseguo questo comando da un server Node.js perché solo io posso attivare uno script in una finestra di terminale. Ma ecco il problema: quando viene eseguito, la finestra del terminale è dietro il mio browser Chrome.

Come si può sicuramente impostare questa finestra in alto? Ho notato che la finestra può essere sicuramente in cima alle altre finestre di Terminale ma come impostarla su tutte le altre finestre?

Ad esempio, la finestra è sotto Chrome e molto difficile da vedere:

enter image description here

Risposte:


5

Attivare

Usa il comando AppleScript attivare a porta l'applicazione Terminal.app in primo piano :

tell application "Terminal"
    activate
end tell

utilizzando osascript questo diventa:

osascript -e 'tell application "Terminal" to activate'

È possibile farlo in una riga? Perché devo attivarlo in una funzione node.js.
AGamePlayer

Ho aggiunto un osascript equivalente.
Graham Miln

osascript -e 'tell application "Terminal" to activate and to do script "cd myfolder && ./something.sh param1"' È corretto?
AGamePlayer

1
La soluzione più semplice è quella di eseguire osascript due volte da JavaScript. Una volta per iniziare lo script e di nuovo per portare Terminal.app in primo piano.
Graham Miln

1
Alternativa alla corsa osascript due volte lo esegue una volta con 2 -e comandi, in questo modo: osascript -e 'tell application "Terminal" to activate' -e 'tell application "Terminal" to do script "..."'
Hugues M.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.