Lo siguiente ejemplo AppleScript código se probó bajo MacOS High Sierra .
Se modifica lo siguiente código de mi respuesta que enlazaste en tu OP:
Esta versión actúa sobre aplicaciones en Centro de notificaciones en Preferencias del sistema que se definen en el appNameList
lista .
Cambie los nombres de las aplicaciones o añada o elimine las mismas en el appNameList
lista según sea necesario:
Ejemplo AppleScript código :
set appNameList to {"Calendar", "Games", "Mail", "Messages"}
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)
select row i
delay 0.25 -- # Do not set any lower, increase if necessary!
set theValue to (value of static text 1 of group 1 of UI element 1 of row i)
repeat with thisApp in appNameList
if theValue contains thisApp then
-- # Use 0 with clickCheckBox() to check the check box.
-- # Use 1 with clickCheckBox() to uncheck the check box.
my clickCheckBox(1)
end if
end repeat
end repeat
end tell
end tell
quit
end tell
on clickCheckBox(i as integer)
tell application "System Events"
tell group 1 of window 1 of application process "System Preferences"
-- # if the value of checkbox is 0, it's unchecked.
-- # if the value of checkbox is 1, it's checked.
if value of checkbox "Badge app icon" is equal to i then
click checkbox "Badge app icon"
end if
end tell
end tell
end clickCheckBox
Preferencias del sistema no necesita ser visible para que esto funcione y por qué no hay activate
comando en el ejemplo AppleScript código . Además, si Preferencias del sistema ya está abierto, primero se cierra antes de que el resto de la código se procesa. Esto se hace por un par de razones, la primera de las cuales ya se dijo y, en segundo lugar, ver los eventos de la interfaz de usuario procesados es una distracción visual y puede ser molesto.
También hay que tener en cuenta que el valor de la delay
comandos puede necesitar ser ajustado para su sistema, y o adicional delay
comandos puede ser necesario o no. Ajustar valores de y o añadir/eliminar el delay
comandos según corresponda.
Esta versión actúa sobre todos los aplicaciones en Centro de notificaciones en Preferencias del sistema .
Ejemplo AppleScript código :
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)
select row i
delay 0.25 -- # Do not set any lower, increase if necessary!
-- # Use 0 with clickCheckBox() to check the check box.
-- # Use 1 with clickCheckBox() to uncheck the check box.
my clickCheckBox(1)
end repeat
end tell
end tell
quit
end tell
on clickCheckBox(i as integer)
tell application "System Events"
tell group 1 of window 1 of application process "System Preferences"
-- # if the value of checkbox is 0, it's unchecked.
-- # if the value of checkbox is 1, it's checked.
if value of checkbox "Badge app icon" is equal to i then
click checkbox "Badge app icon"
end if
end tell
end tell
end clickCheckBox
Para una versión que actúe sobre una sola aplicación específica en Centro de notificaciones en Preferencias del sistema , ver mi respuesta a: Desactivar la insignia para una aplicación específica con un script
Nota: El ejemplo AppleScript código es sólo eso y no emplea ningún otro tratamiento de errores entonces lo que se muestra y sólo pretende mostrar una de las muchas maneras de realizar una tarea. El usuario siempre tiene la responsabilidad de añadir/utilizar las herramientas adecuadas. tratamiento de errores según se necesite/se desee.
0 votos
¿Es posible? Sí. Qué específicamente ¿te gustaría hacer? ¿Qué has probado?
0 votos
Me gustaría ejecutar un script para eliminar los iconos de las aplicaciones de mensajes y correo electrónico. Actualmente tengo cuatro separados que se encargan de las aplicaciones individualmente.