2 votos

Deshabilitar insignia para la aplicación específica con una secuencia de comandos

Sé que se puede activar/desactivar la insignia de la notifcation centro, pero hay una manera de hacerlo con un script?

Si es posible me encantaría hacer para una aplicación específica, de lo contrario, será divertido desactivarlo para todas las aplicaciones.

Hasta ahora yo era capaz de hacer esto:

tell application "System Preferences"
activate
set the current pane to pane id "com.apple.preference.notifications"
tell application "System Events"
   tell process "System Preferences"
        select row 2 of table 1 of scroll area 1 of window "Notifications" 
        click checkbox "Badge app icon"  of group 1 of window "Notifications" 
   end tell
end tell

final dicen

Solo tiene un problema:

  • la lista debe ser siempre el mismo y tienes que saber que el Índice. Es allí una manera de acceder por su nombre?

Pd: he utilizado el muy útil http://pfiddlesoft.com/uibrowser/index-downloads.html para averiguar cómo identificar objetos

1voto

user3439894 Puntos 5883

El siguiente ejemplo de AppleScript código me funciona bajo macOS Alta de la Sierra:

Nota: Cambie "Calendar" en set appName to "Calendar" a la correspondiente aplicación de destino.


set appName to "Calendar"

if running of application "System Preferences" then
    quit application "System Preferences"
    delay 1
end if
tell application "System Preferences"
    set the current pane to pane id "com.apple.preference.notifications"
    delay 1
    tell application "System Events"
        tell table 1 of scroll area 1 of window 1 of application process "System Preferences"
            repeat with i from 2 to (count rows)
                if value of static text 1 of group 1 of UI element 1 of row i is appName then
                    select row i
                    exit repeat
                end if
            end repeat
        end tell
        delay 0.2
        click checkbox "Badge app icon" of group 1 of window 1 of application process "System Preferences"
    end tell
    quit
end tell

Preferencias del sistema no necesita ser visible para que esto funcione y por qué no hay activate comando en el ejemplo de AppleScript código. Además, si las Preferencias del Sistema ya está abierto, se cierra primero antes que el resto del código es procesado. Esto se hace para un par de razones, la primera de las cuales se ha dicho y en segundo lugar ver los Eventos de interfaz de usuario procesado es una distracción visual y puede ser molesto.

También tenga en cuenta que el valor de la delay comandos pueden necesitar ser ajustadas para su sistema, y / o adicional delay comandos puede o puede no ser necesario. Ajustar los valores de y o agregar/quitar el delay comandos según corresponda.


Para una versión que actúa en múltiples aplicaciones y / o todas las aplicaciones en el Centro de Notificaciones en Preferencias del Sistema, véase mi respuesta a: Quitar varias app insignia de iconos con un script?


Nota: El ejemplo de AppleScript código es sólo eso y no emplea ningún error en el manejo y está destinado sólo para mostrar una de las muchas formas de realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar y/o el uso apropiado de manejo de errores como necesitaba/quería.

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