AppleScript para cambiar el tamaño de las columnas del buscador

1

Cansado del tamaño descuidado y semi legible de las columnas de vista de lista, estoy intentando codificar una solución AppleScript. Las omisiones y los errores en el diccionario del Finder hacen que esto (para complacer en la subestimación) sea un desafío. El objetivo es que cualquier ventana muestre una vista de lista minimalista con una sola pulsación de tecla, con todas las columnas configuradas en el ancho mínimo que evita el truncamiento y la ventana en sí misma ajustada a su contenido. Algo en esta línea ...

Las principales dificultades que he encontrado hasta ahora están en la columna de opciones de vista de lista de ventana del Finder .

  • visible no refleja con precisión el estado real de las columnas
  • la configuración visible no tiene efecto
  • ancho se puede leer, pero su configuración no tiene ningún efecto

Tampoco ayuda que el botón de zoom del Finder no haya hecho nada sensato o útil ya que los teléfonos celulares tienen el tamaño de una caja de zapatos.

¿Alguien ha intentado un proyecto similar o uno que superó alguna de las dificultades mencionadas anteriormente? Uno odia recurrir a la falta de fiabilidad semi-confiable de las secuencias de comandos GUI.

    
pregunta Bryan 16.03.2018 - 23:14

1 respuesta

0

He probado la siguiente secuencia de comandos (escrita para responder a otra pregunta aquí: esta - ¿Es posible cambiar el ancho de una columna de la Vista de la Lista del Finder en AppleScript?

tell application "Finder"
    activate
    set the_window to window 1
    set current view of the_window to list view
    set the_options to list view options of the_window
    set the_name_column to first column of the_options whose name is name column
    set the_items to name of every item of the_window
    -- get the longest name (count of characters)
    set longest_name to 0
    repeat with I from 1 to count of the_items
        --check for invisible files, which we don't need to consider
        if character 1 of item I of the_items is not "." then
            if (count of characters of item I of the_items) > longest_name then
                set longest_name to count of characters of item I of the_items
            end if
        end if
    end repeat
    -- this only works if the text size is 12. The multiplier 7.5 could be changed
    -- if the text size is something else. 
    set desired_width to longest_name * 7.5
    set width of the_name_column to desired_width
    -- we have to close and reopen the window in order to see any changes.
    -- there might be a "refresh window" command but I don't know it.
    set the_target to target of the_window
    close the_target
    open the_target
end tell

Esa secuencia de comandos establecerá el ancho de la columna Nombre, en una ventana vista como lista, para que sea tan grande como sea necesario para que se ajuste al nombre más largo de un elemento en la ventana. Funciona (para mí) en macOS 10.11.6 y 10.12.6.

La clave es reconocer que no se "establece el ancho de la columna de nombre de la ventana 1". Más bien, usted "establece el ancho de la columna de nombre de las opciones de vista de lista de la ventana 1". Eso es pseudocódigo pero cuenta la historia. Vea la secuencia de comandos para más detalles.

    
respondido por el Christian Boyce 06.05.2018 - 07:28

Lea otras preguntas en las etiquetas