Bonjour
Ma façon de faire, (je n'utilise pas SL, je prend pas vos risques)
Je préfère utiliser un système qui marche suivant mes besoins.
Si vous êtes assez gonflés, a vous de tester (testé avec Léopard 10.5.8).
Fonctionnement.
Alerte pour la première utilisation de cette application, savoir si les icônes sont bien rangées.
Si Annuler quitte.
Si Sauvegarder, mémorisation et quitte l'application.
Alerte pour les utilisations suivante de cette application, si le nombre d'icônes différent où le même nombre avec un nom d'icône au moins différent.
Si Annuler quitte.
Si Sauvegarder, mémorisation et quitte l'application.
Sauvegardes suivantes:
Contrôle du nombre d'icônes en mémoire et du nombre d'icônes sur le bureau.
Contrôle des noms d'icônes en mémoire et des noms d'icônes sur le bureau.
Si le deux contrôles sont bon, fait le rangement des icônes et quitte l'application.
Si un des deux contrôle est faux où les deux, fait le rangement des icônes reconnues, et fenêtre d'alerte.
A vous de placer les icônes non rangées (où d'en ôter), et faire une sauvegarde en utilisant une fois de plus cette application.
Comment créer une application avec ce code:
Copier-Coller ce code dans Applications/AppleScript/Éditeur de scripts
Bouton Compiler (si le texte prend des couleurs, c'est bon).
Barre des menus Fichier/Enregistrer sous
Donner un nom.
Choisir où enregistrer l'application.
Format de fichier: Progiciel (pour être compatible PPC et intel).
Si écran de démarrage coché alors le décocher.
Enregistrer.
Bloc de code:
property theList : missing value
property listCtrl : missing value
property mem : false
tell application "Finder"
activate
if mem is true then
display dialog "Vos icônes sont bien rangées pour cette sauvegarde?." buttons {"Annuler", "Sauvegarder"} default button 2 with title "Sauvegarder les positions des icônes"
if (button returned of result) is "Annuler" then quit
set {mem, theList} to {false, {name, desktop position} of items of desktop}
else
if theList is missing value then
display dialog "Vos icônes sont bien rangées pour cette première sauvegarde?." buttons {"Annuler", "Sauvegarder"} default button 2 with title "Sauvegarde des positions d'icônes"
if (button returned of result) is "Annuler" then quit
set theList to {name, desktop position} of items of desktop
else
set listCtrl to {name, desktop position} of items of desktop
if ((count (first item of theList)) as integer) ≠ ((count (first item of listCtrl)) as integer) then set mem to true
if (first item of theList) does not contain (first item of listCtrl) then set mem to true
repeat with i from 1 to (count (first item of theList))
try
set desktop position of item (item i of first item of theList) of desktop to (item i of second item of theList)
end try
end repeat
end if
end if
end tell
if mem is true then
tell me to activate
display dialog "Différence avec les icônes en mémoire et les icônes trouvées sur le bureau." & return & return & "Veillez placer les icônes à leurs place et mémoriser leurs positions par la prochaine ouverture de cette application." buttons {"OK"} default button 1 with title "Modification des d'icônes"
end if
Comme j'aurais jamais de réponses, donc aucunes mises à jour si un problème.
Normalement SL 10.6.11 devrais gérer ce problème.
@+