AppleScript: come chiudere gli avvisi di notifica da un'applicazione specifica?

2

In AppleScript, puoi cancellare tutte le notifiche dalle tutte applicazioni, in questo modo:

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

(Source)

È possibile cancellare le notifiche da un'applicazione specifica ? Ad esempio, lo script dovrebbe rimuovere le notifiche da Calendar.app, ma lasciare quelle che provengono da Google Chrome sullo schermo.

Potrebbe essere necessario spiegare cosa intendo esattamente quando dico, "clear." Non sto tentando di rimuovere elementi dall'elenco delle notifiche trovate nel "Centro notifiche" (cioè, il riquadro verticale espandibile sul lato destro dello schermo). Sto cercando di automatizzare l'azione di premere i pulsanti "Chiudi" delle notifiche popup che si sovrappongono nell'angolo in alto a destra dello schermo, in modo che queste finestre di dialogo scompaiano dalla vista.

Questa domanda riguarda lo stile "Alert" della notifica OS X (piuttosto che lo stile "Banner", che scompare da solo poco dopo la visualizzazione).

OS X El Capitan, versione 10.11.6.

posta rubik's sphere 29.09.2017 - 08:01
fonte

1 risposta

2

Ho provato il seguente esempio AppleScript codice in macOS 10.12.5 e ha chiuso il Avvisi stile messaggi da Calendario .

tell application "System Events"
    tell process "NotificationCenter"
        set windowCount to count windows
        repeat with i from windowCount to 1 by -1
            if description of image 2 of window i is "Calendar" then
                click button "Close" of window i
            end if
        end repeat
    end tell
end tell

Nota: questo è un codice AppleScript di esempio che non contiene alcuna gestione degli errori. Aggiungi la gestione degli errori appropriata secondo necessità, richiesta e richiesta.

    
risposta data 29.09.2017 - 08:42
fonte