AppleScript para Finder dejó de funcionar con Mavericks
-
21-12-2019 - |
Pregunta
Tengo esta manzana muy simple:
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
que funcionó perfectamente bien hasta que los mavericks.OK, todavía se ejecuta, pero falta el efecto deseado.Nada, absolutamente nada pasa más.
¿Alguien sabe qué cambió con la nueva versión de OS X?
Actualizar 1:
Ahora noté que los cambios ocurren, después de que se reinicie un buscador.Así que podría (o podría no) estar relacionado con esta pregunta, entonces « Actualización de Finder / Actualizar AppleScript No funciona en 10.8 » - Solo que no tuve un problema con 10.8, solo apareció con 10.9
Solución
i Sencely Fix que puede ayudar ahora es agregar una ventana de cierre y abrir una ventana al 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
No es ideal, pero hasta que alguien trabaje cómo resolver este error. Y lo llamo un error por falta de una mejor explicación. Puede hacer.
El script recopila el objetivo de la ventana uno. Cierra la ventana 1. Luego abre el objetivo de lo que fue la ventana 1.
Sospecho que este error está relacionado con el hecho de que en Mavericks, si abre un archivo de plist de aplicaciones y realiza un cambio. El cambio puede no tener efecto como solían hacer en antes de 10.9. Creo que esto se debe a un cambio en cómo se leen las preferencias y cuando se leen. Parece que lo que está en la memoria tomará los presidentes sobre los cambios manuales. Sin embargo, se cambian de inmediato si usa los valores predeterminados del comando UNIX.
*** Actualización * 1
En la respuesta de Martin, existe una buena idea de simplemente voltear el objetivo. Pero con el problema de no trabajar en un directorio raíz.
La respuesta simple a la que es usar un objetivo de voltaje específico. En este Cee la carpeta de inicio de los usuarios. Todos tenemos en aquellos ..
He actualizado la última parte del código y comenta el bit viejo.
El código de cambio es
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
Otros consejos
@markhunte es correcto: parece ser un error y uno necesita reabrir la ventana o similar para moverlo.En macscripter.net Encontré algunas infos adicionales.Mi versión actual es ahora (también aprendí otros nuevos trucos nuevos):
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
Esta solución no necesita cerrar la ventana, sino que solo cambia su objetivo.En el editor de script, vea la ventana que parpadea, pero cuando se inicia desde el menú Script, es tan rápido que no se nota más.
Desventaja de esta solución sobre @markhunte Solution: no funcionará en el directorio raíz.