Acceso directo para el botón "Acción" en la barra de herramientas del Finder

0

Estoy buscando una manera de mostrar un menú contextual para un elemento seleccionado del Finder desde el teclado.

Según las respuestas que vi, no hay un equivalente completo de macOS para un botón "Menú contextual" de Windows, pero ¿tal vez sea posible tener un acceso directo para el botón "Acción" en la barra de herramientas del Finder?

Así es como se ve: Barra de herramientas del buscador

Boykodev
fuente

Respuestas:

1

Esto funciona para mí ejecutando OS Sierra. Este código AppleScript abrirá la ventana activa del Finder o abrirá una nueva ventana del Finder si no hay ninguna abierta, y automáticamente hará clic en el botón "Acción" en la barra de herramientas.

Observe dónde dice "grupo 2" en ambas líneas de código. Esta es la ubicación del botón "Acción" en mi ventana "Finder". Si no tiene el botón "Acción" ubicado exactamente en la misma ubicación en la ventana del buscador, este script generará un error y no funcionará.

activate application "Finder"
tell application "System Events"
    tell process "Finder"
        delay 0.5  -- may need to adjust this number
        if window 1 of application "Finder" exists then
            click menu button 1 of group 2 of toolbar 1 of window 1
        else
            tell application "Finder"
                activate
                make new Finder window
                tell application "System Events"
                    tell process "Finder"
                        delay 1 -- may need to adjust this number
                        click menu button 1 of group 2 of toolbar 1 of window 1 (* notice where it says "group 2" in both lines of code.  This is the location of the "Action" button in my "Finder" window.  If you do not have your "Action" button located in the exact same location in your finder window, this script will produce an error and won't work. *)
                    end tell
                end tell
            end tell
        end if
    end tell
end tell

Guarde este script en la aplicación del editor de script como una aplicación. Para los fines de esta publicación, guardé el archivo en el editor de scripts como Finder_Action_Button_Shortcut.app

ingrese la descripción de la imagen aquí

Abra la aplicación Automator y cree un nuevo servicio.

ingrese la descripción de la imagen aquí

Asegúrese de seleccionar la opción de archivos y carpetas. Agregue una acción "Iniciar aplicación" a su flujo de trabajo y seleccione la nueva aplicación de editor de scripts que acaba de guardar y nombrar: Finder_Action_Button_Shortcut.app

ingrese la descripción de la imagen aquí

En este punto, guarde su archivo de flujo de trabajo de Automator y asígnele el nombre "Finder_Action_Button_Shortcut.workflow" en su carpeta / Users / YOUR_COMPUTER_NAME / Library / Services /. (si Automator durante el proceso de guardado no le pregunta si desea instalar el nuevo servicio)

! [ingrese la descripción de la imagen aquí

Ahora este servicio estará disponible en sus "Servicios" en Finder para cualquier archivo o carpeta seleccionada

! [ingrese la descripción de la imagen aquí

Asegúrese de agregar Automator.app y Finder_Action_Button_Shortcut.app a la lista de aplicaciones que pueden controlar su computadora en la pestaña Preferencias del sistema / Seguridad y privacidad / Accesibilidad / Privacidad

ingrese la descripción de la imagen aquí

A continuación, vaya a Preferencias del sistema / Teclado / Accesos directos / Servicios y debería ver su nuevo servicio allí. ¡Anímate y asigna a tu nuevo servicio un atajo de teclado y BINGO! Ya terminaste

! [ingrese la descripción de la imagen aquí

wch1zpink
fuente
¡Gracias por una explicación tan detallada! Cambió el grupo 2 al grupo 4 y está funcionando. La única preocupación es que es bastante lento, incluso si elimina todo delay. ¿Alguna idea para optimizar el código AppleScript?
Boykodev
He cambiado un flujo de trabajo Launch Applicationa Run AppleScriptutilizar el mismo código que ya ha proporcionado (sin delay). Funciona un poco más rápido, pero todavía hay un pequeño retraso.
Boykodev