Buenas noches.
Encontré un script para ajustar la anchura de la columna del Nombre del Finder a la del nombre del archivo más largo en la opción de "Ver como Lista".
No he conseguido que funcione a pesar de los ajustes realizados por “ensayo y error” en una parte del programa.
El código es el siguiente:
tell application "Finder"
activate
set laVentana to window 1
--Crea una lista de vista de ventana del Finder
set current view of laVentana to list view
--Guarda las opciones de la lista de vista
set lasOpciones to list view options of laVentana
set nombreDeColumna to first column of lasOpciones whose name is name column
-- Guarda en la lista losElementos los nombres de todos los ítems de laVentana
set losElementos to name of every item of laVentana
-- Obtener el número de caracteres del ítem de la lista cuyo nombre es el más largo)
set nombreMasLargo to 0
(* Inicializa a cero la variable donde guardará el NÚMERO DE CARACTERES del
elemento (arhivo o carpeta) cuyo NOMBRE vaya teniendo el mayor número de caracteres *)
repeat with I from 1 to count of losElementos
--Descarta los archivos invisibles, los cuales no necesitamos tener en cuenta
--El comienzo con un "." indica el atributo de oculto de un archivo
if character 1 of item I of losElementos is not "." then
if (count of characters of item I of losElementos) > nombreMasLargo then
set nombreMasLargo to count of characters of item I of losElementos
--Conteo de los caracteres de cada uno de los nombres de los ítems de la lista de vista
-- y va comparando el resultado con el almacenado como más largo hasta ahora.
end if
end if
end repeat
-- esto solo funciona si el tamaño del texto es 12. El multiplicador 7.5 podría cambiarse (???)
-- si el tamaño del texto es otra cosa.
set anchoDeseado to nombreMasLargo * 30 -- (??? Mi tamaño de letra es 16, pero no funciona)
-- HE PROBADO CAMBIANDO EL MULTIPLICADOR CON VALORES DESDE 7.5 HASTA 30 SIN ÉXITO.
-- CREO QUE ESTA ES LA PARTE QUE FALLA.
set width of nombreDeColumna to anchoDeseado
-- tenemos que cerrar y volver a abrir la ventana para "refrescar" los cambios.
-- puede haber un comando "actualizar ventana" pero no lo sé.
set elObjetivo to target of laVentana
delay 1 --añadido
close elObjetivo
delay 1 -- añadido
open elObjetivo
end tell
Por otro lado, las modificaciones se refieren exclusivamente a Window 1, no afectando al resto de ventanas que puedan estar abiertas.
¿Me podéis ayudar a localizar el error y a comprenderlo y ampliar el código al resto de ventanas que pudieran estar abiertas?
Gracias por anticipado.
Salud.