¿Cómo cambiar entre las pestañas Hoy y Notificaciones en el Centro de notificaciones en macOS Sierra?

1

Quiero poder cambiar entre las pestañas (pestañas Hoy y Notificaciones) en el Centro de notificaciones mediante un método abreviado de teclado. ¿Alguna forma de hacerlo en macOS Sierra?

Sé que era posible en Yosemite, pero nunca tuve Yosemite, así que no pude verificarlo.

Editar: quiero poder ejecutar un script de Apple, no usar un atajo de teclado. Usando el script de Apple, puedo colocarlo en un programa de terceros para obtener mis resultados.

También, el siguiente código funcionó parcialmente. Para empezar, es posible colocar un if / else al principio para que funcione así:

si el Centro de notificaciones ya está abierto, continúe con la siguiente cosa (que sería cambiar entre los botones Hoy y Notificación), pero si no está abierto, ábralo y cambie los botones.

    
pregunta user3735534 26.09.2016 - 13:55

2 respuestas

1

Hice un poco de búsqueda en Google y no pude encontrar un método abreviado de teclado nativo, solo para abrir el Centro de notificaciones, en la vista que tenía por última vez, y esto debe configurarse como Usuario en Preferencias del sistema > Teclado > Accesos directos > Control de Misión > Mostrar centro de notificaciones. Por supuesto, esto solo abre el Centro de notificaciones para la última vista en la que se encontraba.

Sin embargo, si vas a Preferencias del sistema > Teclado > Accesos directos, hay "Acceso completo al teclado: en ventanas y cuadros de diálogo, presione Tab para mover el foco del teclado entre:" y dos botones de opción, "Sólo cuadros de texto y listas" (el valor predeterminado) y "Todos los controles". Si selecciona "Todos los controles", es posible que pueda usar, por ejemplo. pestaña, ingrese, teclas de flecha para navegar por el Centro de notificaciones. No puedo probar eso en este momento y por eso dije " ... podría ser capaz de usar ... ".

Eso deja una solución alternativa de AppleScript para usarse en una aplicación de terceros que puede usar el script asignando un método abreviado de teclado o un servicio de Automator al que se puede asignar un método abreviado de teclado.

El código de AppleScript a continuación cambia el estado de los dos botones en el Centro de notificaciones.

try
    tell application "System Events"
        tell process "SystemUIServer"
            click menu bar item "Notification Center" of menu bar 1
        end tell
        tell application "System Events"
            tell process "Notification Center"
                if value of radio button "Today" of radio group 1 of window "NotificationTableWindow" is equal to 1 then
                    click radio button "Notifications" of radio group 1 of window "NotificationTableWindow"
                else
                    click radio button "Today" of radio group 1 of window "NotificationTableWindow"
                end if
            end tell
        end tell
    end tell
end try

También puede modificar el código para que solo actúe con un solo botón si lo desea. Debería ser obvio cómo modificarlo, sin embargo, no dude en preguntar si necesita ayuda adicional.

    
respondido por el user3439894 27.09.2016 - 02:57
0

En macOS High Sierra, el nombre de accesibilidad de la ventana del Centro de notificaciones ha cambiado a "Centro de notificaciones".

El siguiente AppleScript debería permitir alternar entre las dos pestañas (Hoy y Notificaciones) en macOS High Sierra (10.13), Sierra (10.12) y posiblemente versiones anteriores también.

on osVersion()
    set _major to system attribute "sys1" -- 10
    set _minor to system attribute "sys2" -- 13 for High Sierra
    return (_major as string) & "." & (_minor as string)
end osVersion

on toggleNotificationCenter()
    tell application "System Events"
        tell process "SystemUIServer"
            click menu bar item "Notification Center" of menu bar 1
        end tell
    end tell
end toggleNotificationCenter

on toggleCenterButton()
    set notificationWindowName to "Notification Center" -- High Sierra
    considering numeric strings
        if osVersion() < "10.13" then
            set notificationWindowName to "NotificationTableWindow"
        end if
    end considering

    tell application "System Events"
        tell process "Notification Center"
            if value of radio button "Today" of radio group 1 of window notificationWindowName is equal to 1 then
                click radio button "Notifications" of radio group 1 of window notificationWindowName
            else
                click radio button "Today" of radio group 1 of window notificationWindowName
            end if
        end tell
    end tell
end toggleCenterButton


try
    toggleNotificationCenter()
    toggleCenterButton()
on error
    toggleNotificationCenter()
    toggleCenterButton()
end try
    
respondido por el ldeck 07.01.2018 - 04:43

Lea otras preguntas en las etiquetas