Vous pouvez le faire en définissant votre propre paramètre par défaut, afin de stocker la valeur entre les utilisations/redémarrages, etc., sinon un Applescript ne se souviendra pas de votre état actuel de basculement.
Il s'agit d'un exemple rapide qui définira un paramètre défini par l'utilisateur [remplacez par le nom réel de la société et/ou du produit et le nom du paramètre à mémoriser si vous en avez un, sinon les données de l'exemple feront l'affaire] puis dira à haute voix "oui" ou "non" en fonction de l'état du commutateur de paramètres par défaut.
Vous pouvez l'exécuter à partir du script ouvert ou l'enregistrer comme une application.
set newTestParameter to "YES"
try
set oldTestParameter to do shell script "defaults read com.myCo.myApp myParamSet"
if oldTestParameter is in {"1", "YES"} then
set newTestParameter to "NO"
end if
end try
do shell script "defaults write com.myCo.myApp myParamSet " & newTestParameter
--your actual code, dependant on above switch
if newTestParameter is in {"1", "YES"} then
say "Yes"
-- run thisCode
else
say "No"
-- run thatCode
end if
Lors de la première exécution, il écrira un nouveau fichier dans le fichier ~/Library/Preferences
llamado com.myCo.myApp.plist
& contiendra un paramètre, avec l'état actuel de votre bascule, comme ceci
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>myParamSet</key>
<string>NO</string>
</dict>
</plist>
Vous n'avez pas besoin de faire quoi que ce soit pour le 'maintenir' par vous-même, vous pouvez simplement continuer à envoyer sa nouvelle valeur à chaque exécution de script.