Réponses:
Vous pouvez créer le service Automator pour exécuter cet Applescript et lui donner un raccourci clavier dans les raccourcis clavier des Préférences Système
Cela fermera l'alerte et la notification des bannières
Dans Automator, choisissez un nouveau service
Ajouter une action Exécuter Applescript
et remplacez son code par:
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
Définissez le «Service reçoit [aucune entrée] dans [n'importe quelle application]»
Enregistrez le service.
Ouvrez les raccourcis clavier dans les préférences système et définissez votre pour votre service sous «Services»
Maintenant, toute application nouvellement lancée choisira le raccourci.
(Remarque: j'ai structuré le script pour contrer le lancement d'une erreur qui se produira lorsque les notifications / fenêtres commenceront à se fermer.
otifications / fenêtre sont numérotées de 1 à le nombre total. Mais au fur et à mesure qu'ils ferment, le script fonctionnerait toujours sur l'ancien compte. Mais le système réattribuera l'index des fenêtres.
Donc, là où nous disons commencer à 1 -6, le script va essayer de fermer la fenêtre 1, la fenêtre 2, la fenêtre 3 et ainsi de suite. Mais le système a attribué les numéros de fenêtre 1, 2, 3 aux dernières fenêtres restantes. Mais le script va essayer de fermer la fenêtre 4 et de lancer une erreur car elle n'existe pas. Le script va saisir cela et le gérer. )
Si vous souhaitez cliquer sur le bouton «Afficher» d'une notification d'alerte. vous changez le bouton sur lequel vous cliquez de 1 à 2.
click button 2 of this_item
Les notifications de bannière n'ont pas de bouton 2.
Mais vous pouvez simplement cliquer sur la fenêtre.
Donc, ce code devrait prendre soin de montrer.
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
Pas tout à fait ce que vous demandez:
Vous pouvez limiter le temps affiché pour le type de bannières avec
Terminer et coller dans ce qui suit
defaults write com.apple.notificationcenterui bannerTime #
avec le signe # numéro remplacé par le nombre de secondes pendant lesquelles vous souhaitez que les notifications de bannière restent, puis déconnectez-vous et reconnectez-vous.
Pour restaurer la fonction d'origine (5 secondes), utilisez defaults delete com.apple.notificationcenterui bannerTime
Je sais que vous avez dit non: mais vous pouvez cycle de la notification on / off avec un script et lui attribuer un raccourci clavier à elle. Désactiver temporairement le Centre de notifications dans Mountain Lion à partir de la ligne de commande?
Le script original de markhunte fonctionne mais s'arrête après quelques fenêtres. Il se peut que la liste des fenêtres ne comprenne que celles qui sont actuellement visibles. Lorsque vous en avez trop, cela ne fermera pas tout. J'ai ajouté une boucle en dehors de la boucle principale pour interroger les fenêtres jusqu'à ce que le nombre de fenêtres soit nul. Voici le code:
mon closeNotif () sur 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
fin closeNotif