AppleScript: ¿Cómo cerrar las alertas de notificación desde una aplicación específica?

2

En AppleScript, uno puede borrar todas las notificaciones de todas las aplicaciones, así:

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)

¿Es posible borrar las notificaciones de una aplicación específica ? Por ejemplo, la secuencia de comandos debe eliminar las notificaciones de Calendar.app, pero dejar las que sean de Google Chrome en la pantalla.

Es posible que sea necesario explicar exactamente lo que pretendo cuando digo, "borrar". No estoy tratando de eliminar elementos de la lista de notificaciones que se encuentran en el "Centro de notificaciones". (es decir, el panel vertical expandible en el lado derecho de la pantalla). Estoy tratando de automatizar la acción de presionar los botones "Cerrar" de las notificaciones emergentes que se superponen en la esquina superior derecha de la pantalla, para que estos cuadros de diálogo emergentes desaparezcan de la vista.

Esta pregunta se refiere al estilo "Alert" de la notificación OS X (en lugar del estilo "Banner", que desaparece por sí solo poco después de aparecer).

OS X El Capitan, versión 10.11.6.

pregunta rubik's sphere 29.09.2017 - 08:01

1 respuesta

2

Probé el siguiente ejemplo AppleScript código en macOS 10.12.5 , y cerró el Alertas estilo de 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: Este es un ejemplo de código de AppleScript que no contiene manejo de errores. Agregue el manejo de errores apropiado según sea necesario, requerido o deseado.

    
respondido por el user3439894 29.09.2017 - 08:42

Lea otras preguntas en las etiquetas