Sebelum membaca lebih lanjut: Saya tahu tentang kepala pelayan dan program serupa. Saya mencari cara BUILT-IN untuk melakukan ini tanpa aplikasi pihak ketiga.
Bagaimanapun, saya menulis AppleScript yang menjalankan perintah shell. Saya ingin menampilkan output di menubar di atas ... tanpa Butler bagaimana saya bisa melakukan ini?
applescript
display
menu-bar
JATUH
sumber
sumber
Jawaban:
Secara umum, tanpa program pihak ketiga, seperti Growl, tidak ada cara untuk melakukannya.
Namun, Anda dapat menulis skrip atau program lain seperti yang saya temukan di sini yang menyediakan layanan menulet untuk Anda. Saya yakin integrasi Growl akan jauh lebih mudah untuk dicapai.
sumber
Tidak ada cara bawaan untuk melakukan ini di OS X. Namun, menggunakan Growl , Anda dapat memiliki notifikasi. Berikut ini contoh skrip untuk itu:
Itu akan menampilkan ini:
Dan jika Anda mengaktifkan notifikasi lain juga:
Teknik lebih lanjut dijelaskan di sini.
sumber
Karena AppleScriptObjC adalah bagian dari macOS, dimungkinkan untuk menggunakan kerangka "Foundation" -nya (termasuk metode NSMenu) untuk mencapai apa yang mungkin tidak mungkin pada tahun 2012.
Saya menemukan skrip yang menarik untuk membuat menu khusus dari dalam AppleScript; dari sini saya mengekstrak kode yang sesuai untuk menempatkan teks di bilah menu macOS . Bahkan hanya menggunakan "judul" menu untuk memasukkan beberapa konten.
Untuk mendemonstrasikan ini, saya menerapkan skrip dialog yang sangat mendasar yang meminta pengguna untuk input teks (menunggu 6 detik) yang kemudian ditampilkan di bilah menu sementara (5 detik).
Ini dia:
Kode AppleScript ini dapat digunakan dalam skrip apa pun milik Anda. (Bagian "dialog" nya adalah opsional ...)
user3439894 membantu dengan menutup "menu" saya, lihat baris terakhir skrip. Terima kasih banyak!
sumber
/programming/29168474/creating-a-simple-menubar-app-using-applescript
. . . . . Saya takut, bahwa baris terakhir saya (bekerja separuh waktu) yang saya temukan di tempat lain - dan diadaptasi - TIDAK benar . . . . . . Saya bukan seorang programmer jadi saya perlu lebih banyak waktu untuk memahami kode.StatusItem's dealloc()
hanya berlaku untuk aplikasi AppleScriptObjC dan bukan Script Editor dan tanpa sengaja menabraknya.set myText to ...
Baris kode pertama ,display dialog
perintah sebelum perintah benar-benar tidak melakukan apa-apa berdasarkan kode berikutnya dan oleh karena itu sama sekali tidak diperlukan. Dengan kata lain, satu-satunya digunakan nilai darimyText
adalah bahwa yang ditugaskan setelahdisplay dialog
perintah tersebut dijalankan dan mengapa pengaturan apa pun sebelum inidisplay dialog
perintah tidak terpakai coding dan tidak diperlukan dalam konteks kode saat disajikan.StatusItem's dealloc()
atauStatusItem's setTitle:""
saya akan menggunakan:current application's NSStatusBar's systemStatusBar()'s removeStatusItem:StatusItem