Deshabilitar la credencial para una aplicación específica con un script

1

Sé que puedo activar / desactivar la insignia desde el centro de notificación, pero ¿hay alguna forma de hacerlo con un script?

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

Hasta ahora pude 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

end tell

Solo tiene un problema :

  • la lista debe permanecer igual y usted debe conocer el Índice. ¿Hay alguna forma de acceder por nombre?

PD: he usado el muy útil enlace para descubrir cómo identificar objetos

    
pregunta EsseTi 01.03.2018 - 14:24

1 respuesta

0

El siguiente ejemplo AppleScript código funciona para mí bajo macOS High Sierra :

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

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

Las Preferencias del Sistema no necesitan estar visibles para que esto funcione y por qué no hay un comando activate en el ejemplo AppleScript código . Además, si Preferencias del sistema ya está abierto, primero se cierra antes de que se procese el resto del código . Esto se hace por un par de razones, la primera de las cuales ya se mencionó y, en segundo lugar, ver los eventos de IU procesados es una distracción visual y puede ser molesto.

También tenga en cuenta que el valor de los comandos delay puede necesitar un ajuste para su sistema, y / o comandos adicionales delay Puede o no ser necesario. Ajuste valores de y / o agregue / elimine los comandos delay según corresponda.

Para una versión que actúa en varias aplicaciones o en todas las aplicaciones en Centro de notificaciones en Preferencias del sistema , consulte mi respuesta a: ¿Eliminar múltiples iconos de distintivos de aplicaciones con un script?

Nota: El ejemplo AppleScript código es solo eso y no emplea ningún manejo de errores y está destinado solo a mostrar una de las muchas maneras en que se puede realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar / usar el manejo de errores según sea necesario / deseado.

    
respondido por el user3439894 01.03.2018 - 16:40

Lea otras preguntas en las etiquetas