Menggunakan Script Editor.app yang disertakan dengan OS X, coba bereksperimen dengan cuplikan ini.
Tunggu 30 detik
Cuplikan berikut akan membuat skrip Anda menunggu 30 detik sebelum menampilkan dialog:
delay 30 -- this waits thirty seconds
display dialog "Hello?" -- this shows a dialog
Tidur
Cuplikan berikut akan membuat Mac Anda langsung tertidur :
tell application "System Events"
sleep
end tell
Tunggu, lalu tidur
Menggabungkan dua cuplikan di atas menghasilkan AppleScript yang akan menunggu 30 detik sebelum mematikan Mac Anda:
delay 30
tell application "System Events"
sleep
end tell
Layar dan Desktop
Saya tidak yakin cara terbaik untuk menentukan apakah monitor terhubung. Anda tentu bisa melakukan polling secara teratur; memanggil system_profiler SPThunderboltDataType SPDisplaysDataType
dan mem-parsing output akan bekerja.
Polling mahal secara komputasional dan sebaiknya dihindari.
Atau, mungkin pendekatan di mana AppleScript dapat menentukan apakah jumlah desktop aktif telah berubah? Ketika dua monitor terhubung ke Mac saya, cuplikan berikut mengembalikan daftar dua item:
tell application "System Events"
set myDesktops to desktops
end tell
Memperluas ini, cuplikan berikut menyediakan lebih banyak informasi tampilan untuk bekerja dengan:
tell application "System Events"
set myDesktop to properties of the first desktop
end tell