Antworten:
Sie können einen Automator-Dienst erstellen, um dieses Applescript auszuführen, und ihm eine Tastenkombination in den Tastenkombinationen der Systemeinstellungen zuweisen
Dies schließt die Benachrichtigung und die Bannerbenachrichtigung
Wählen Sie im Automator einen neuen Dienst
Fügen Sie eine Applescript-Aktion hinzu
und ersetze den Code durch:
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
Setze den 'Dienst empfängt [keine Eingabe] in [jeder Anwendung]'
Speichern Sie den Dienst.
Öffnen Sie die Tastaturkürzel in den Systemeinstellungen und legen Sie Ihre Einstellungen für Ihren Dienst unter "Dienste" fest.
Jetzt übernimmt jede neu gestartete App die Verknüpfung.
(Hinweis: Ich habe das Skript so strukturiert, dass beim Schließen der Benachrichtigungen / Fenster kein Fehler mehr ausgegeben wird.
otifications / window sind von 1 bis zur Gesamtzahl nummeriert. Aber wenn sie schließen, würde das Drehbuch immer noch nach dem alten Stand funktionieren. Das System weist jedoch den Index der Fenster neu zu.
Wenn wir also bei 1 -6 beginnen sagen, wird das Skript versuchen, Fenster 1, Fenster 2, Fenster 3 usw. zu schließen. Das System hat den letzten verbleibenden Fenstern die Fensternummern 1,2,3 zugewiesen. Aber das Skript wird versuchen, Fenster 4 zu schließen und einen Fehler auszulösen, da er nicht existiert. Das Skript wird dies auffangen und damit umgehen. )
Wenn Sie in einer Warnmeldung auf die Schaltfläche "Anzeigen" klicken möchten. Sie ändern die Schaltfläche, auf die Sie klicken, von 1 auf 2.
click button 2 of this_item
Bannerbenachrichtigungen haben keine Schaltfläche 2.
Sie können aber einfach auf das Fenster klicken.
Dieser Code sollte sich also um das Anzeigen kümmern.
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
Nicht ganz das, wonach du fragst:
Sie können die angezeigte Zeit für den Bannertyp mit einschränken
Terminal und fügen Sie Folgendes ein
defaults write com.apple.notificationcenterui bannerTime #
Wenn das # -Nummernzeichen durch die Anzahl der Sekunden ersetzt wird, in denen Bannerbenachrichtigungen angezeigt werden sollen, melden Sie sich ab und wieder an.
Zur Wiederherstellung der ursprünglichen Funktion (5 Sekunden) verwenden Sie defaults delete com.apple.notificationcenterui bannerTime
Ich weiß , Sie sagten nicht: aber man kann Zyklus die Benachrichtigung bei / mit einem Skript ab und sehen eine Tastatur Abkürzung zuweisen. Benachrichtigungscenter in Mountain Lion vorübergehend über die Befehlszeile deaktivieren?
Das Originalskript von markhunte funktioniert, stoppt aber nach ein paar Fenstern. Es kann sein, dass die Liste der Fenster nur diejenigen enthält, die aktuell sichtbar sind. Wenn Sie zu viele haben, wird dies nicht alle schließen. Ich habe eine Schleife außerhalb der Hauptschleife hinzugefügt, um die Fenster abzufragen, bis wir eine Fensteranzahl von Null erhalten. Hier ist der Code:
mein closeNotif () auf 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
Ende schließenNotif