25 votos

Descartar las notificaciones de MacOS Big Sur con el teclado

Hace tiempo que utilizo un Applescript activado desde un atajo de teclado para descartar las notificaciones en MacOS. Funcionaba simulando un clic en el botón "cerrar" de cada ventana abierta del Centro de Notificaciones.

Desde la actualización a Big Sur (actualmente 11.0.1), las notificaciones ya no tienen un botón de cierre. En su lugar, cuando se pasa por encima de ellas con el ratón, aparece un botón "X". Para una persona que tiene dificultades para hacer clic con precisión (tengo un ligero temblor en la mano), usar el ratón/trackpad es difícil.

¿Alguien tiene alguna sugerencia sobre cómo restaurar esa funcionalidad para que pueda mantener mis manos en el teclado?

Mi configuración

Estoy usando Automatizador para probar esto.

En Preferencias del sistema > Notificaciones He seleccionado Automatizador :

  • Permitir notificaciones es cierto.
  • Estilo de alerta de Automator: es Alertas .
  • Agrupación de notificaciones es automático .

Prueba

  • Abrí Automatizador y creó un nuevo flujo de trabajo.
  • He añadido tres instancias del Visualización de la notificación acción.
  • Les di Título: valores de test 1 , test 2 y test 3 .
  • Y Subtítulo: valores de subtitle 1 , subtitle 2 y subtitle 3 .
  • Y Mensaje: valores de message 1 , message 2 y message 3 .
  • He ejecutado el flujo de trabajo utilizando ⌘+R .
  • En la esquina superior derecha de mi pantalla, veo una notificación de Automatizador apilado sobre otros dos. Sólo notificación test 3 es totalmente visible y tiene la anotación "2 notificaciones más" en la parte inferior.

@AndrewJanian 's script</strkeep><strkeep>

  • Una vez más, gracias, Andrew por proporcionar el script.
  • He añadido la línea #!/usr/bin/osascript al inicio del script y lo guardó como andrew.applescript .
  • Hice el archivo ejecutable. ( chmod 755 andrew.applescript ).
  • Lo he ejecutado en una ventana de terminal ( ./andrew.applescript )
  • El resultado de correr es:

    • las notificaciones agrupadas se desagrupan (por lo que veo test 3 , test 2 y test 1 apilados de arriba a abajo en el área de notificación
    • el terminal muestra el siguiente error

      ./andrew.applescript:370:377: execution error: System Events got an error: Can’t get action "Name:Clear All
      Target:0x60000116ff20
      Selector:_internal_handleCustomActionWithUiAction:" of group 1 of UI element 1 of scroll area 1 of window "Notification Center" of application process "NotificationCenter". (-1728)

Intentaré trastear con él para ver si puedo hacerlo funcionar con modificaciones.

Nota: Si vuelvo a ejecutar el script, partiendo del estado no agrupado:

  • descarta la notificación superior ( test 3 )
  • y muestra lo siguiente en el terminal:

    action Name:Close
    Target:0x60000116ff20
    Selector:_internal_handleCustomActionWithUiAction: of group 1 of UI element 1 of scroll area 1 of window Notification Center of application process NotificationCenter

13voto

Torben Puntos 1481

Sí, gracias por publicar el script, @AndrewJanian.

Recibí un error similar al de @ColinFraizer al usarlo tal cual. Creo que el problema es la repetición interna sobre las acciones: está intentando acceder a las acciones en algunos casos después de la ventana está cerrada. Un pequeño ajuste me soluciona este problema:

activate application "NotificationCenter"
tell application "System Events"
    tell process "Notification Center"
        set theWindow to group 1 of UI element 1 of scroll area 1 of window "Notification Center"
        # click theWindow
        set theActions to actions of theWindow
        repeat with theAction in theActions
            if description of theAction is "Close" then
                tell theWindow
                    perform theAction
                end tell
                exit repeat
            end if
        end repeat
    end tell
end tell

6voto

MikeH Puntos 576

Tengo un AppleScript que funciona. Encontré los elementos usando UIBrowser . La advertencia es que la notificación debe tener una acción "Cerrar". Todas las notificaciones que he encontrado tienen esa acción.

activate application "NotificationCenter"
tell application "System Events"
    tell process "Notification Center"
        set theWindow to group 1 of UI element 1 of scroll area 1 of window "Notification Center"
        click theWindow
        set theActions to actions of theWindow
        repeat with theAction in theActions
            if description of theAction is "Close" then
                tell theWindow
                    perform theAction
                end tell
            end if
        end repeat
    end tell
end tell

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X