Question

J'ai ce très simple AppleScript:

tell application "Finder"
    activate

    set |Window| to get Finder window 1

    set the current view of |Window| to icon view

    set |View Options| to icon view options of |Window|

    set the icon size of |View Options| to 256
    set the label position of |View Options| to bottom
    set the shows item info of |View Options| to true
    set the shows icon preview of |View Options| to true
    set the arrangement of |View Options| to arranged by name
end tell

qui a parfaitement fonctionné bien jusqu'à Mavericks.OK, il fonctionne toujours mais l'effet désiré est manquant.Rien, absolument rien ne se passe plus.

Tout le monde sait ce qui a changé avec la nouvelle version de OS X?

Mise à jour 1:

Maintenant, j'ai noté que les changements se produisent - après un redémarrage du Finder.Donc, il pourrait (ou pourrait ne pas) être lié à cette question alors « Finder Update / Actualiser AppleScript ne fonctionne pas dans 10.8 » - seulement que je n'ai pas eu de problème avec 10.8, il n'est apparu que avec 10,9

Était-ce utile?

La solution

I Simple Correction qui peut aider maintenant, consiste à ajouter une fenêtre proche et à ouvrir la fenêtre sur le script.

     tell application "Finder"
    activate

    set |Window| to get Finder window 1

    set the current view of |Window| to icon view

    set |View Options| to icon view options of |Window|

    set the icon size of |View Options| to 256
    set the label position of |View Options| to bottom
    set the shows item info of |View Options| to true
    set the shows icon preview of |View Options| to true
    set the arrangement of |View Options| to arranged by name

    set flipTarget to folder "Users" of startup disk 
    set targ to target of |Window|

    set target of |Window| to flipTarget
    set target of |Window| to targ
    (* --close |Window|

    --open targ
    *)
end tell

Pas idéal, mais jusqu'à ce que quelqu'un travaille sur la manière de résoudre ce bug. Et je l'appelle un bug de vouloir une meilleure explication. Cela peut faire.

Le script collecte la cible de la fenêtre une. Ferme la fenêtre 1. Puis ouvre la cible de la fenêtre 1.

Je soupçonne que ce bogue est lié au fait que, dans Mavericks, si vous ouvrez un fichier de plis de préférence d'applications et effectuez un changement. Le changement ne peut pas prendre effet comme ils l'avaient l'habitude de faire en PRE 10,9. Je pense que cela est dû à la manière dont les préférences sont lues et quand elles sont lues. Je semble que ce qui est dans la mémoire prendra des présidents sur les changements manuels. Ils changent toutefois immédiatement si vous utilisez les défauts de commande UNIX.


*** MISE À JOUR * 1

Dans la réponse de Martin, il y a une bonne idée de simplement retourner la cible. Mais avec le problème de ne pas fonctionner sur un répertoire racine.

La réponse simple à celle-ci est d'utiliser une cible de retournement spécifique. Dans cette CAE, le dossier Accueil des utilisateurs. Nous avons tous sur ceux ..

J'ai mis à jour la dernière partie du code et commentez l'ancien bit.


Le code de changement est

set flipTarget to folder "Users" of startup disk
    set targ to target of |Window|

    set target of |Window| to flipTarget
    set target of |Window| to targ

Autres conseils

@Markhunte a raison - il semble être un bogue et il faut rouvrir la fenêtre ou similaire à se déplacer.Sur MACSCRIPTER.net J'ai trouvé des infos supplémentaires.Ma version actuelle est maintenant (apprise d'autres nouvelles astuces aussi):

  tell application "Finder"
    activate
    tell Finder window 1
        set current view to icon view

        set its icon view options's properties to {icon size:64, label position:bottom, shows item info:true, shows icon preview:true, arrangement:arranged by name}

        -- we refresh the window to reflect the icon size change!
        set Original_Target to its target as alias
        set Parent_Target to container of its target as alias
        set target to Parent_Target
        set target to Original_Target
    end tell
end tell

Cette solution n'a pas besoin de fermer la fenêtre mais ne change que sa cible.Dans l'éditeur de script, vous voyez la fenêtre clignotant - mais lorsque vous avez démarré dans le menu du script, il est si rapide que vous ne remarquez plus.

Inconvénient de cette solution sur @Markhunte Solution: ne fonctionnera pas sur le répertoire racine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top