4 votos

Alias - "Mostrar el original" en una nueva pestaña

Actualización:
Después de las dos respuestas hasta ahora, he movido ligeramente los postes de la portería. Necesito selecciones múltiples y pestañas - las respuestas existentes; una tiene capacidad de selección múltiple, la otra me da pestañas, que me he dado cuenta que es el camino a seguir.


Decidí que la mejor manera de seguir un catálogo de fotografías publicadas sin alterar su jerarquía original era arrastrar los alias a una ubicación separada.

Sin embargo, muchos casos de uso requieren el original; no pueden hacer frente a la caída del propio alias a, por ejemplo, un sitio web, o Photos.app

El clic derecho - Mostrar original insiste en mostrarlo dentro del mismo contenedor de la ventana, por lo que al volver a la carpeta de alias pierde su lugar, la selección desaparece. En una carpeta grande, esto realmente pone a prueba tu memoria en cuanto a dónde estabas.

¿Hay alguna manera de forzar que se abra en una nueva ventana, similar a Cmd/doble clic en una carpeta, manteniendo así su lugar en la carpeta de alias?

Actualmente en High Sierra 10.13.4

0 votos

Como has dicho, has "movido los postes" invalidando así las dos respuestas como completas. ¿También, con la ayuda de las respuestas de aquí (copiar/pegar) presentaste la tuya y aceptaste esa como la respuesta a la pregunta? ¿Y te sientes bien con eso?

0 votos

Me siento absolutamente bien con eso. Como su actitud me hizo creer que no iba a ser más comunicativa, me fui a otro sitio y volví aquí para acreditar mis fuentes y completar el círculo proporcionando una respuesta aceptada y acreditada. Se cazan más moscas con miel que con vinagre.

0 votos

Oh no, sólo estaba preguntando, siendo yo nuevo aquí para ver cómo funciona. No es atrapar, sólo aprender. Mi última pregunta debería haber sido "¿Está bien hacer esto?" porque eso es lo que quería decir. Su código combinado es corto y al punto y un recurso para todos los que aprenden.

4voto

flx Puntos 151

Busqué por ahí y encontré un applescript (que se puede convertir en un acceso directo) que hace justo lo que quieres. Desafortunadamente, no es súper simple como debería ser. Sin embargo, es mejor que nada, y sólo tienes que hacerlo una vez. Te ahorrará tiempo a largo plazo.

1) Abra Automator.

2) Crear un nuevo "Servicio

3) Establecer el servicio recibe a "ninguna entrada" en "Finder

4) añadir "Ejecutar applescript

5) Poner este código en su interior:

-- duplicateFinderTab.scpt
-- Uses a hacky workaroud to duplicate the frontmost Finder tab,
-- since Apple hasn't provided great AppleScript support for this.

----------------------------------------------
on run {}
    tell application "Finder"
        if (count of Finder windows) > 0 then set duplicate_me to target of front Finder window
        set _sel to the selection
    end tell

    new_tab()

    tell application "Finder"
        set target of front Finder window to duplicate_me
        select _sel
    end tell

    open_orig()

end run

----------------------------------------------
on new_tab()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "New Tab"
            perform action "AXPress"
        end tell
    end tell
end new_tab
----------------------------------------------
on open_orig()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "Show Original"
            perform action "AXPress"
        end tell
    end tell
end open_orig

6) guárdalo (si abres una ventana del finder, y tienes tu alias seleccionado, entonces vuelve a automator y dale a 'ejecutar', entonces funcionará en este punto) -- Nota: puede que te pida que añadas 'Automator' a los permisos de 'Preferencias del Sistema' -> 'Seguridad y Privacidad' -> 'Accesibilidad'.

7) en las preferencias del sistema, vaya a "teclado" -> "accesos directos" -> "servicios" -> "cualquiera que sea su nombre" elija un acceso directo (como "^-CMD-O").

Otras cosas:

Es posible que tenga que hacerlo una vez:

cuando se selecciona el buscador, en el menú,

Buscador' -> 'Servicios' -> 'como sea que lo hayas nombrado'

o si no aparece:

'Finder' -> 'Servicios' -> 'Preferencias de servicios..' -> marque la casilla en las preferencias del sistema que su aplicación se llama

Hay otros errores de permiso que puede recibir dependiendo de cómo está configurado su sistema, sin embargo, usted debe notar que el script funciona cuando se pulsa 'ejecutar' en el paso 6 o después del paso 5. Sólo tienes que seleccionar primero el archivo en el buscador y luego cambiar a la aplicación del automatizador y pulsar 'ejecutar'.

Y si todo te ha funcionado sin problemas, el atajo cmd-cntl-O debería funcionarte, así que puedes hacer ese atajo, (que abre una nueva pestaña de la misma selección), y luego hacer clic con el botón derecho y seleccionar 'mostrar original'


Editado por OP
Si recibe un error "com.automator.runner.xpc no tiene permitido el acceso asistido", la solución no es obvia.
No se puede añadir el propio com.automator.runner.xpc a Assistive Access, ni tampoco ayuda añadir Automator o Automator Runner, sin embargo después de un reinicio la pista era que se disparaban dos errores, no sólo uno.

enter image description here

Añadir el propio Finder a Assistive Access permitía ejecutar el script.

0 votos

Excelente, ¡gracias! He añadido un ajuste a tu script para que también muestre el archivo original en la nueva pestaña y algunos detalles sobre cómo trabajar con los permisos de asistencia, lo que me llevó un tiempo averiguar. Ahora todo funciona muy bien.

4voto

boris42 Puntos 100

Una solución mucho más corta y limpia sin scripts de UI:

Abrir Automator, crear un nuevo Servicio, aceptar archivos y carpetas del Finder, añadir un Ejecutar AppleScript acción y escriba lo siguiente:

on run {input, parameters}
    repeat with aFile in input
        tell application "Finder"
            try
                set origFile to original item of aFile
                set aWindow to make new Finder window
                set aWindow's target to origFile's parent
                select origFile
            end try
        end tell
    end repeat
end run

Su pantalla debería tener un aspecto similar al siguiente: reveal automator service

Guarde el servicio de Automator como Revelar en una nueva ventana y luego abrir Preferencias del Sistema / Teclado / Atajos / Servicios . Encuentre el Revelar en una nueva ventana servicio, haga clic en Añadir acceso directo y escriba R . Su pantalla debería tener un aspecto similar al siguiente:

services preferences

Cierre y pruebe el servicio en Finder seleccionando uno o varios alias y pulsando el acceso directo elegido R . Funciona con múltiples archivos, carpetas y puede realizar el Reveal incluso si algunos de los elementos no son realmente alias (de ahí el try/end try en el script).

0 votos

Muy bien. Como puede manejar la selección múltiple puede conducir a un poco de rociado de la ventana. ¿Es posible cambiar set aWindow to make new Finder window para abrir una nueva pestaña en su lugar?

0 votos

@Tetsujin puedes limitar la pulverización de la ventana usando sólo el primer elemento, o limitar a un cierto número máximo de elementos con un simple contador y una sentencia if. No puedo recordar inmediatamente un método para abrir pestañas sin scripts de pulsación de teclas que lo hace mucho más verboso. Además eso no estaba en la pregunta original. ¿Un upvote si te ha gustado la solución?

0 votos

¿Cómo puedo hacer que esto funcione en los enlaces simbólicos? No uso Aliases.

3voto

Tetsujin Puntos 23061

Con la ayuda de StackOverflow & partiendo de las ideas presentadas en las dos respuestas de brw59 boris42 Ahora tengo esto, por usuario3439894

on run {input, parameters}
    set madeNewWindow to false
    repeat with i from 1 to count input
        tell application "Finder"
            if (kind of item i of input) is equal to "Alias" then
                set origFile to original item of item i of input
                if not madeNewWindow then
                    set aWindow to make new Finder window
                    set madeNewWindow to true
                else
                    my makeNewTab()
                end if
                set aWindow's target to origFile's parent
                select origFile
            end if
        end tell
    end repeat
end run

on makeNewTab()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "New Tab"
            perform action "AXPress"
        end tell
    end tell
end makeNewTab

Combina lo que yo pensamiento Necesitaba con lo que en realidad que se necesita, utilizando scripts UI y no UI, y me presenta una nueva ventana, bien llena de pestañas, todas con un alias seleccionado, de modo que puedo recorrer las pestañas y ocuparme de cada selección de una en una, y luego cerrarla, dejando mi ventana original en su lugar.

0 votos

Se parece a lo que quiero, pero no consigo que esta solución haga nada. Veo "Finder" en el flash de la barra de menú, pero eso es todo. ¿Ideas?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X