AppleScript: ¿Cómo crear una nueva ventana del Finder para una carpeta que ya está abierta?

0

El problema, fuera de AppleScript:

Para presenciar el problema 1 , haga lo siguiente:

  • Haga doble clic en una carpeta que existe en el escritorio. Al hacerlo, se abrirá esta carpeta en Finder.app.

  • Vuelva al escritorio y haga doble clic en la misma carpeta nuevamente.

  • En lugar de crear una ventana segunda , la ventana creada anteriormente se colocará en primer plano.

Una solución alternativa, fuera de AppleScript:

Entonces, ¿qué haces si quieres dos ventanas del Finder de la misma carpeta?

Existe un kluge:

Crea una nueva ventana del Finder abriendo cualquier otra carpeta. Desde esta nueva ventana, ahora si navega a la carpeta deseada, cambiará esta ventana a la carpeta deseada y tendrá dos ventanas de esta carpeta.

Para navegar a la carpeta deseada dentro de una nueva ventana del Finder, el método cualquiera funcionará:

  • Haga clic en la carpeta, si está marcada en la barra lateral (si está habilitada, ubicada a la izquierda de la ventana).

  • Haga clic en la carpeta, si existe en la barra de ruta (si está habilitada, ubicada en la parte inferior de la ventana).

  • Use la barra de búsqueda integrada de la ventana.

  • O, simplemente navegue a la carpeta manualmente.

El problema, en AppleScript:

El siguiente código AppleScript abrirá una carpeta en una nueva ventana del Finder:

set targetFolder to POSIX file "/Users/Me/Desktop/MyFolder"

tell application "Finder"
    open targetFolder
    activate
end tell

De la misma manera en que el Finder se comporta de manera no programática (como se definió anteriormente), si ejecuta este código por segunda vez (sin cerrar la ventana del Finder creada anteriormente), la ventana creada anteriormente se mostrará en primer plano. .

La solución AppleScript deseada:

Aquí está el comportamiento deseado:

  • Si targetFolder ya existe en cualquiera abrir la ventana del Finder (incluida cualquier ventana del Finder minimizada), me gustaría que AppleScript cree una nueva ventana para el mismo targetFolder (es decir, una ventana duplicada).

Idealmente, me gustaría que se creara una ventana duplicada, sin tener que recurrir al "truco" que describí anteriormente (es decir, abrir una carpeta otra arbitraria Primero, antes de abrir la carpeta deseada). Sin embargo, entenderé si esto no es posible (es decir, si el método programático debe replicar el método manual).

1. Entiendo que este comportamiento no es de ninguna manera un error o un problema "real". Apple claramente programó esta acción deliberadamente; probablemente determinaron que la mayoría de las personas no necesitan o desean ventanas de Finder redundantes.

OS X El Capitan, versión 10.11.6.

pregunta rubik's sphere 29.08.2017 - 23:07

3 respuestas

2

Creo que este código hace lo que quieres.

Código:

set targetFolder to POSIX file "/Users/Me/Desktop/MyFolder"

tell application "Finder"
    set finderFolder to item targetFolder
    set lstTargets to target of every Finder window
    if {finderFolder} is in lstTargets then
        set target of (make new Finder window) to targetFolder
    end if
end tell
    
respondido por el unlocked2412 30.08.2017 - 03:23
0

Esta solución te lleva a donde quieres ir, pero usa la solución alternativa. Intenté establecer la propiedad "target" cuando creé la ventana, pero no tuvo ningún efecto. Dejé esa parte en el guión pero comenté para su referencia.

set targetFolder to ((path to desktop) as text) & "testFolder:"

tell application "Finder"
    set aWin to make new Finder window --with properties {target:targetFolder}
    set aWin's target to targetFolder
end tell

También lo intenté llamando a la línea de comandos con do shell script, pero tuvo el mismo efecto que el que aparece en "El problema" más arriba.

    
respondido por el Hurston 29.08.2017 - 23:52
0

Utilice el comando reveal para evitar el comportamiento del comando open :

set targetFolder to POSIX file "/Users/Me/Desktop/MyFolder"
tell application "Finder"
    reveal targetFolder
    activate
end tell

Advertencia: siempre se abre la ventana en la vista de columna

    
respondido por el jackjr300 30.08.2017 - 07:04

Lea otras preguntas en las etiquetas