Bagaimana cara menggunakan osascript untuk membuka Aplikasi Terminal di jendela baru dan memastikan itu ada di atas semua jendela lain?

3

Saya menemukan cara untuk membuka Terminal.app sangat berguna sebagai:

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

Jika dijalankan dari jendela terminal maka semuanya baik-baik saja - setidaknya untuk setiap kasus yang saya uji. Bagaimana saya menjalankan perintah ini dari server Node.js karena hanya itu saya dapat memicu skrip di jendela terminal. Tapi ini masalahnya: ketika dijalankan, jendela Terminal ada di belakang Browser Chrome saya.

Bagaimana jendela ini bisa diatur di atas? Saya perhatikan bahwa jendela itu pasti berada di atas jendela Terminal lainnya tetapi bagaimana cara mengaturnya di atas semua jendela lainnya?

Misalnya, jendela di bawah Chrome dan sangat sulit untuk dilihat:

enter image description here

AGamePlayer
sumber

Jawaban:

5

Mengaktifkan

Gunakan perintah AppleScript mengaktifkan untuk membawa aplikasi Terminal.app ke depan :

tell application "Terminal"
    activate
end tell

Menggunakan osascript ini menjadi:

osascript -e 'tell application "Terminal" to activate'
Graham Miln
sumber
Apakah mungkin melakukan itu dalam satu baris? Karena saya harus memicu ini dalam fungsi node.js.
AGamePlayer
Saya telah menambahkan osascript setara.
Graham Miln
osascript -e 'tell application "Terminal" to activate and to do script "cd myfolder && ./something.sh param1"' Apakah ini benar?
AGamePlayer
1
Solusi paling sederhana adalah menjalankan osascript dua kali dari JavaScript. Sekali untuk memulai skrip Anda dan lagi untuk membawa Terminal.app ke depan.
Graham Miln
1
Alternatif untuk berlari osascript dua kali menjalankannya sekali dengan 2 -e perintah, seperti: osascript -e 'tell application "Terminal" to activate' -e 'tell application "Terminal" to do script "..."'
Hugues M.