Wie lösche ich alle OS X-Benachrichtigungen mit einem Klick?

Ich habe Benachrichtigungen im OSX-Benachrichtigungszentrum, da ich für die meisten meiner Apps die Einstellung „Im Benachrichtigungszentrum anzeigen: 10 zuletzt verwendete Elemente“ verwende um es von Zeit zu Zeit mit 1 Klick zu löschen.

Ich verwende Yosemite 10.10.3

Antworten (13)

tell application "System Events"
    tell process "NotificationCenter"
        set numwins to (count windows)
        repeat with i from numwins to 1 by -1
            click button "Close" of window i
        end repeat
    end tell
end tell

Kopieren Sie den obigen Code und fügen Sie ihn in den AppleScript-Editor ein. Aktivieren Sie den Skript-Editor in Barrierefreiheit

Systemeinstellungen Geben Sie hier die Bildbeschreibung ein

Fantastische Lösung! Ich habe Ihr Skript einer Tastenkombination in BTT zugeordnet: Prahler.net
Wie rufen Sie das auf?
Das funktioniert nicht auf Big Sur:System Events got an error: Can’t get button "Close" of window 1 of process "NotificationCenter". (-1728)
Funktioniert das noch in Big Sur? Ich habe versucht, es auszuführen und zu ändern, und es schließt keine Benachrichtigungen

Eine weitere Option, die Keyboard Maestro verwendet, um ein Applescript auszuführen, wird hier beschrieben: http://genuinecuriosity.com/unnotify

Ich habe es so zugeordnet, dass ich drücke, Command Option 0um alle offenen Warndialoge zu löschen.

Im Grunde habe ich ein Applescript erstellt, um auf die erste Schaltfläche aller offenen Warnungen (normalerweise Schließen) zu klicken, und zwar so lange, bis alle Warnungen gelöscht sind. Sie können das Applescript direkt über Keyboard Maestro verwenden (wie in meinem Artikel beschrieben) oder Sie können einen Dienst mit Automator erstellen (dies ist aufgrund der Anforderungen an die Zugriffsberechtigung etwas kniffliger).

Das vollständige Applescript ist im Artikel enthalten, zusammen mit einem Screenshot, der das Setup in Keyboard Maestro zeigt.In Keyboard Maestro verwendetes Skript

Es ist hilfreich, wenn Sie die verlinkte Referenz kurz zusammenfassen, da Links in Zukunft veraltet sein können.
Genial danke! Sie können das Skript auch in Alfred kopieren und einfügen.

Ich weiß, dass dies ursprünglich für Yosemite war, und ich bin mir nicht sicher, wie die Antwort dort lautet, aber da die Frage 3 Jahre alt ist und ich sie gerade gefunden habe, als ich mit Mojave nach demselben gesucht habe, dachte ich, ich würde die Antwort erwähnen I gefunden.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie ganz rechts in der Menüleiste auf die 3 Zeilen. Dadurch wird ein Fenster mit den Registerkarten Heute / Benachrichtigungen geöffnet. Wenn Sie die Registerkarte Benachrichtigungen auswählen, können Sie auf das X rechts neben Heute klicken, um alle Benachrichtigungen für einen bestimmten Tag zu löschen. ein paar Klicks und Sie haben alle alten gelöscht.

Würde dies einen Rückstand von Benachrichtigungen beseitigen?
ja, das ist die idee. Ich benutze es regelmäßig, um viele Benachrichtigungen zu löschen.
Wenn Sie sich von Skripten fernhalten möchten, ist dies die Antwort!
Dadurch wurden die Benachrichtigungen des Tages aus dem Benachrichtigungszentrum gelöscht, aber "Benachrichtigungen" (der dauerhafte Fenstertyp von Benachrichtigungen, der in Systemeinstellungen -> Benachrichtigungen ausgewählt werden kann) nicht geschlossen. Die kurze Applescript-Lösung von "@software is fun" hat diese beseitigt. Die Frage bezieht sich auf Benachrichtigungen, aber ich wollte diesen Unterschied hier erwähnen.

Ich kenne keine Möglichkeit, jede Benachrichtigung mit einer einzigen Schaltfläche zu löschen, aber Sie können alle Benachrichtigungen einer App löschen, indem Sie Ihre Maus rechts neben der Kopfzeile der App bewegen und auf die kleine x-Schaltfläche klicken, die dort angezeigt wird.

Um sie alle zu löschen, bewege ich einfach die Maus auf die x-Schaltfläche der obersten App und klicke schnell, wodurch alle Benachrichtigungen relativ schnell entfernt werden.

danke, so mache ich das. Das Klicken auf das kleine x oben in jedem Benachrichtigungsbereich für 20 Apps ist meiner Meinung nach definitiv nicht schnell. Ich bin mir nicht sicher, warum Sie die Antwort als Antwort geknallt haben.
@sea Noch keine Kommentare
Ich sehe kein "kleines x" auf El Capitan 10.11.1
Sie können nach Tag schließen, wenn Sie mit der Maus über die Kopfzeile des Tages fahren.

Am Ende habe ich dazu ein Automator- Skript erstellt und es einem globalen Hotkey zugeordnet.

on run {input, parameters}
    tell application "System Events"
        tell process "Notification Center"
            set theWindows to every window
            repeat with i from 0 to number of items in theWindows
                try
                    set this_item to item ((number of items in theWindows) - i) of theWindows
                    click button 1 of this_item
                on error
                    -- nothing
                end try
            end repeat
        end tell
    end tell
end run

Hier ist eine Lösung, die das Terminal erfordert, aber mit Big Sur funktioniert. Dies ist insbesondere nützlich, wenn Sie Dutzende von Benachrichtigungen aus dem Finder haben, die mit anderen Ansätzen nicht schnell geschlossen werden können.

Vom Terminal:

ps -e | grep /NotificationCenter | grep app | awk '{print $1}' | xargs kill -9

Dies ähnelt Joeys Antwort, außer dass es alles in einem Befehl erledigt. ps -e ruft eine Liste der laufenden Prozesse ab. Das grep filtert die Liste nach denen, die /NotificationCenter enthalten. Diese Liste enthält immer noch zu viele Elemente, da sich der grep-Befehl selbst findet. Wir schließen es aus, indem wir ein weiteres grep auf der Ausgabe dieser Liste ausführen. Der awk-Befehl druckt die erste Spalte, die die Prozess-ID ist, die wir neu starten müssen. Xargs nimmt die Ausgabe des vorherigen Befehls und füttert sie mit seinen Argumenten, nämlich "kill -9", was der Unix-Befehl zum Beenden eines Prozesses ist.

Das praktische Ergebnis ist, dass die NotificationCenter.app gestoppt wird. Launchd (der Systemprozess, der andere Systemprozesse startet) bemerkt, dass die Benachrichtigungszentrale verschwunden ist, und startet sie erneut. Wenn es zurückkommt, gehen alle Nachrichten in seiner Warteschlange verloren und Ihre Benachrichtigungen werden gelöscht.

Die Benachrichtigungen gehen unter macOS 11.2.1 weitestgehend nicht verloren.
Interessant. Es gibt auch ein UserNotificationCenter. Funktioniert der Tipp für Sie, wenn Sie Folgendes versuchen: ps -e | grep /UserNotificationCenter | grep-App | awk '{print $1}' | Xargs töten -9
Nein, das wird die Benachrichtigung nicht einmal für eine Sekunde ausblenden (was die vorherige Version tat).
Es ist jetzt 2022 und ich habe nach einem Update für Monterey gesucht – insbesondere, weil Mac Mail keine Schaltfläche „Alles löschen“ enthält. Wie auch immer, ich habe den obigen Befehl in Terminal eingefügt, aber wenn das Notification Center neu gestartet wird, zeigt es wieder dieselben Warnungen an.

Das kleine X in El Capitan befindet sich im Benachrichtigungsfenster. Öffnen Sie das Benachrichtigungsfenster, indem Sie mit der Maus von rechts hineingleiten oder auf das Benachrichtigungscenter-Symbol in der oberen linken Ecke klicken. Die Benachrichtigungen jeder Anwendung sind gruppiert und es gibt ein kleines X auf der rechten Seite der Kopfzeile jeder Anwendung. Klicken Sie auf das X und alle Benachrichtigungen verschwinden.

Diese SIMBL-App macht den Trick gut. chuckhendo/NotificationClear: SIMBL-Bundle zum Hinzufügen einer „Clear All“-Schaltfläche zur Benachrichtigung ( https://github.com/chuckhendo/NotificationClear )

Installieren Sie es einfach mit mySIMBL. w0lfschild/mySIMBL: SIMBL-Plugin-Manager für macOS ( https://github.com/w0lfschild/mySIMBL )

Nach der Installation können Sie einfach das Benachrichtigungscenter öffnen und dann unten auf „Löschen“ klicken.

Gehen Sie einfach in den Aktivitätsmonitor und erzwingen Sie das Beenden des Benachrichtigungszentrums ...

Willkommen bei Ask Different und vielen Dank für Ihre Antwort. :) Leider liefern kurze Antworten wie diese nicht wirklich genug Details oder Kontext, um vielen Benutzern zu helfen. Wenn möglich, wäre es gut, wenn Sie weitere Informationen hinzufügen könnten, da viele Benutzer nicht wissen, wie sie dies tun sollen. Vielleicht möchten Sie auch How to Answer lesen, um Tipps zum Bereitstellen von Antworten hier zu erhalten.
Joey, diese Antwort sollte höher bewertet werden. Ich hasste (möglicherweise) Hunderte von Benachrichtigungen, die mir mitteilten, dass mein externes Laufwerk nicht richtig ausgeworfen wurde. Diese Benachrichtigungen wurden nicht im Benachrichtigungszentrum angezeigt und mussten manuell "geschlossen" werden. Das Beenden des Benachrichtigungszentrums erzwingen, hat sie alle entfernt! Danke Kumpel
Zander: Stimme zu, das hat sich als Lösung herausgestellt, die auch bei mir funktioniert hat.

Alt-Klick funktioniert normalerweise, um eine Operation für mehrere Dinge auszuführen.

Das hat bei mir auf Big Sur nicht funktioniert.

Diese Antwort deutet darauf hin, dass es in Big Sur in seiner aktuellen Version keine zufriedenstellende Möglichkeit gibt, Benachrichtigungen mit einem einzigen Klick (oder einer Tastenkombination) zu schließen. Stattdessen erläutert diese Antwort alternative Möglichkeiten, sie zu schließen, die an anderer Stelle in diesem Thread nicht erwähnt werden.

Zwei-Finger-Wischen nach rechts in der Benachrichtigungsgruppe funktioniert auf Big Sur mit dem Trackpad des Macbooks (bei Yosemite nicht sicher). Es funktioniert auch mit Linksklick und Ziehen nach rechts. Ich gehe davon aus, dass dies auch mit einer Apple Magic Mouse oder einem Magic Trackpad funktionieren würde.

Dadurch werden nicht alle Benachrichtigungen dauerhaft "gelöscht". Sie werden weiterhin angezeigt, wenn Sie die Benachrichtigungsseitenleiste öffnen. Sie zeigen auch an, ob eine andere Nachricht durchkommt; Anstelle von 1 Benachrichtigung werden N + 1 verfügbare Benachrichtigungen angezeigt.

Dieser Thread ähnelt MacOS Big Sur-Benachrichtigungen mit der Tastatur verwerfen .

Ändern Sie die lästige Benachrichtigungs-App in den Benachrichtigungseinstellungen von „Benachrichtigungen“ auf „Banner“. Banner werden nach wenigen Sekunden automatisch geschlossen.

Im Terminal ausführen:

killall NotificationCenter

Funktioniert nicht auf neueren macOS-Versionen.
wie andere Lösungen..