démarrage automatique d'une application via un script AppleScript
Bonjour,
j'ai fait une application et je voudrais ajouter la possibilité de cocher/décocher un checkbox afin de permettre à l'application de démarrer au login ou pas !
voici le script qui permet d'ajouter l'option de démarrage automatique pour mon application.
Code:
/usr/bin/osascript -e 'tell application "System Events" to make new login item with properties { path: "/Applications/MyApplication.app", hidden:false } at end'
ceci modifie le fichier "~/Library/Preferences/loginwindow.plist" et ajouter une nouvelle entrée dans le fichier
maintenant, comment supprimer cette entrée ? (histoire de ne plus permettre de le démarrage automatique ?)
Je ne suis pas très très AppleScript malheureusement :?
NB: vous aurez compris que je ne peux le faire de manière graphique ;) c'est à dire aller sur Préférences Systèmes -> Comptes -> Ouverture ...
Merci d'avance pour votre aide.
Démarrage application via AppleScript
Bonjour Paissad,
Ce serait de l'Applescript pur, la solution serait de faire une boucle sur tout les "login item", puis, une fois trouvé celui ayant pour path = "/Applications/MyApplication.app", faire un "delete" sur cet item.
Malheureusement, la boucle et le delete nécessitent plusieurs lignes que tu ne peux lancer avec ta seule commande osascript.
Une possibilité serait d'accéder directement à lui, mais je n'ai pas testé, avec une commande de la forme :
tell application "System Events" to delete all login item with property {path:"/Applications/MyApplication.app"}
ou encore
tell application "System Events" to delete all login item whose path is path:"/Applications/MyApplication.app"
Dans les 2 cas, tu ne demande pas une suppression unique, mais la suppression de tout ce qui a ton path. le résultat est le même mais la logique différente.
Afin de tester, je te conseille de :
1) copier sur le bureau une copie de ton fichier loginwindows.plist. cela te permettra de faire plusieurs essais en remettant une copie de ce fichier en place à chaque fois
2) mettre la ligne à tester dans ton éditeur Applescript, et exécuter directement. si ça marche dans l'éditeur, cela fonctionnera en osascript commande de la même façon.
Ah !...j'oubliais : il se peut que cela fonctionne (l'attribut n'est plus dans la play list comme demandé) et pourtant c'est toujours dans l'écran de préférence. dans ce cas, il faut rebooter pour vérifier car l'OS garde peut être un bout en cache. je te conseille, pour éviter de rebooter, de vérifier simplement le fichier plist (tu peux utiliser Property List Editor fourni avec xcode).
A+