Jawaban:
Anda dapat membuat layanan Automator untuk menjalankan Applescript ini dan memberinya pintasan keyboard di pintasan Keyboard Preferensi Sistem
Ini akan menutup Pemberitahuan dan spanduk Pemberitahuan
Di Automator pilih layanan baru
Tambahkan Tindakan Jalankan Applescript
dan ganti kodenya dengan:
my closeNotif()
on closeNotif()
tell application "System Events"
tell process "Notification Center"
set theWindows to every window
repeat with i from 1 to number of items in theWindows
set this_item to item i of theWindows
try
click button 1 of this_item
on error
my closeNotif()
end try
end repeat
end tell
end tell
end closeNotif
Setel 'Layanan menerima [tanpa input] di [aplikasi apa pun]'
Simpan layanan.
Buka pintasan Keyboard di System prefs dan atur layanan Anda di bawah 'Layanan'
Sekarang aplikasi apa pun yang baru diluncurkan akan mengambil pintasan.
(Catatan: Saya menyusun skrip untuk melawan melemparkan kesalahan yang akan terjadi ketika pemberitahuan / jendela mulai menutup.
Otifikasi / jendela diberi nomor 1 hingga jumlah total. Tetapi ketika mereka menutup skrip akan tetap bekerja dari hitungan lama. Tetapi sistem akan menetapkan ulang indeks windows.
Jadi di mana kita katakan mulai dari 1-6 skrip akan mencoba dan menutup jendela 1, jendela 2, jendela 3 dan seterusnya. Tetapi sistem telah menetapkan kembali nomor jendela 1,2,3 ke jendela terakhir yang tersisa. Tetapi skrip akan mencoba dan menutup jendela 4 dan melemparkan kesalahan karena tidak ada. Script akan menangkap ini dan menanganinya. )
Jika Anda ingin mengklik tombol 'Tampilkan' pada Pemberitahuan Peringatan. Anda mengubah tombol yang Anda klik dari 1 menjadi 2.
click button 2 of this_item
Pemberitahuan spanduk tidak memiliki tombol 2.
Tapi Anda bisa mengklik jendela.
Jadi kode ini harus mengurus Menampilkan.
my closeNotif()
on closeNotif()
tell application "System Events"
tell process "Notification Center"
set theWindows to every window
repeat with i from 1 to number of items in theWindows
set this_item to item i of theWindows
set cnt to count buttons of this_item
try
if cnt > 1 then
click button 2 of this_item
else
click this_item
end if
on error
closeNotif()
end try
end repeat
end tell
end tell
end closeNotif
Tidak cukup apa yang Anda minta:
Anda dapat membatasi waktu yang ditampilkan untuk jenis spanduk
Terminal dan tempel berikut ini
defaults write com.apple.notificationcenterui bannerTime #
dengan tanda # number diganti dengan jumlah detik yang Anda inginkan agar pemberitahuan banner tetap ada, lalu logout dan hidupkan kembali.
Untuk mengembalikan fungsi asli (5 detik) gunakan defaults delete com.apple.notificationcenterui bannerTime
Saya tahu Anda mengatakan tidak ada: tetapi Anda bisa siklus Pemberitahuan on / off dengan naskah dan menetapkan keyboard pintas untuk itu. Nonaktifkan Pusat Pemberitahuan sementara di Mountain Lion dari baris perintah?
Script asli oleh markhunte berfungsi tetapi berhenti setelah beberapa jendela. Mungkin saja daftar windows hanya termasuk yang saat ini terlihat. Ketika Anda memiliki terlalu banyak, ini tidak akan menutup semua. Saya menambahkan loop di luar loop utama untuk meminta jendela sampai kita mendapatkan jumlah jendela nol. Ini kodenya:
closeNotif saya () di closeNotif ()
tell application "System Events"
tell process "Notification Center"
set theWindows to every window
set nWindows to number of items in theWindows
repeat until nWindows is 0
repeat with i from 1 to number of items in theWindows
set this_item to item i of theWindows
try
click button 1 of this_item
delay 0.2
on error
my closeNotif()
end try
end repeat
set theWindows to every window
set nWindows to number of items in theWindows
end repeat
end tell
end tell
end closeNotif