Câu trả lời:
Bạn có thể tạo dịch vụ Automator để chạy Applescript này và cung cấp cho nó một phím tắt trong bàn phím Tùy chọn hệ thống Phím tắt
Điều này sẽ đóng Thông báo và biểu ngữ Thông báo
Trong Automator chọn một dịch vụ mới
Thêm một hành động chạy Applescript
và thay thế mã của nó bằng:
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
Đặt 'Dịch vụ nhận [không có đầu vào] trong [bất kỳ ứng dụng nào]'
Lưu dịch vụ.
Mở các phím tắt trong Bàn phím hệ thống và đặt dịch vụ của bạn trong 'Dịch vụ'
Bây giờ bất kỳ ứng dụng mới được tung ra sẽ chọn lối tắt lên.
(Lưu ý: Tôi đã cấu trúc tập lệnh để chống lại lỗi ném sẽ xảy ra khi các thông báo / cửa sổ bắt đầu đóng.
otifying / window được đánh số từ 1 đến tổng số. Nhưng khi họ đóng kịch bản vẫn sẽ làm việc với số cũ. Nhưng hệ thống sẽ được gán lại chỉ mục của các cửa sổ.
Vì vậy, nơi chúng tôi nói bắt đầu từ 1 -6, tập lệnh sẽ thử và đóng cửa sổ 1, cửa sổ 2, cửa sổ 3, v.v. Nhưng hệ thống đã gán lại các số cửa sổ 1,2,3 cho các cửa sổ cuối cùng còn lại. Nhưng tập lệnh sẽ thử và đóng cửa sổ 4 và đưa ra lỗi vì nó không tồn tại. Kịch bản sẽ nắm bắt điều này và đối phó với nó. )
Nếu bạn muốn nhấp vào nút 'Hiển thị' trên Thông báo cảnh báo. bạn thay đổi nút bạn bấm từ 1 đến 2.
click button 2 of this_item
Thông báo biểu ngữ không có nút 2.
Nhưng bạn chỉ có thể nhấp vào cửa sổ.
Vì vậy, mã này nên chăm sóc Hiển thị.
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
Không hoàn toàn những gì bạn yêu cầu:
Bạn có thể giới hạn thời gian hiển thị cho loại biểu ngữ với
Thiết bị đầu cuối và dán sau đây
defaults write com.apple.notificationcenterui bannerTime #
với ký hiệu số # được thay thế bằng số giây bạn muốn thông báo biểu ngữ dán xung quanh, sau đó đăng xuất và bật lại.
Để khôi phục chức năng ban đầu (5 giây), hãy sử dụng defaults delete com.apple.notificationcenterui bannerTime
Tôi biết bạn nói không: nhưng bạn có thể chu kỳ Notification on / off với một kịch bản và chỉ định một bàn phím cắt ngắn để nó. Tạm thời vô hiệu hóa Trung tâm thông báo trong Mountain Lion khỏi dòng lệnh?
Kịch bản gốc của markhunte hoạt động nhưng dừng lại sau một vài cửa sổ. Nó có thể là danh sách các cửa sổ chỉ bao gồm những cái hiện đang hiển thị. Khi bạn có quá nhiều thứ này sẽ không đóng tất cả. Tôi đã thêm một vòng lặp bên ngoài vòng lặp chính để truy vấn các cửa sổ cho đến khi chúng tôi nhận được số lượng cửa sổ bằng không. Đây là mã:
my closeNotif () trên 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
kết thúc đóng