Ho trovato questo link per rimuovere un'icona badge da una singola app.
Disabilita badge per app specifiche con uno script
È possibile creare uno script con più app per rimuovere tutti i badge contemporaneamente?
Esecuzione di High Sierra 10.13.3
Ho trovato questo link per rimuovere un'icona badge da una singola app.
Disabilita badge per app specifiche con uno script
È possibile creare uno script con più app per rimuovere tutti i badge contemporaneamente?
Esecuzione di High Sierra 10.13.3
Il seguente esempio codice AppleScript è stato testato in macOS High Sierra .
Quanto segue è modificato codice dalla mia risposta che hai collegato nel tuo OP:
Questa versione agisce su applicazioni nel Centro notifiche in Preferenze di sistema definite nella lista appNameList
.
Cambia i nomi delle applicazioni e / o aggiungili o rimuovili nella appNameList
lista secondo necessità:
Esempio AppleScript codice :
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
Le preferenze di sistema non devono essere visibili affinché funzioni e perché non ci sia activate
comando nell'esempio AppleScript codice . Inoltre, se Preferenze di sistema è già aperto, viene prima chiuso prima che venga elaborato il resto del codice . Questo viene fatto per un paio di motivi, il primo dei quali è già stato affermato e in secondo luogo vedere gli UI degli eventi elaborati è una distrazione visiva e può essere fastidioso.
Nota anche che il valore dei delay
comandi potrebbe dover essere regolato per il tuo sistema, o altri delay
comandi potrebbe o non potrebbe essere necessario. Regola valori di e o aggiungi / rimuovi i delay
comandi come appropriato.
Questa versione agisce su tutte le applicazioni nel Centro notifiche in Preferenze di sistema .
Esempio AppleScript codice :
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
Per una versione che agisce su una sola applicazione specifica in Centro notifiche in Preferenze di sistema , vedi la mia risposta a: Badge modificabile per app specifica con uno script
Nota: il esempio codice AppleScript è proprio questo e non impiega nessun altro errore gestendo quindi cosa viene mostrato e si intende solo per mostrare uno dei molti modi in cui eseguire un compito. L'onere è sempre sull'utente di aggiungere / utilizzare la gestione degli errori appropriata come necessario / voluto.
Leggi altre domande sui tag applications notification-center applescript