1 votos

Aplicación AppleScript para iniciar una presentación de diapositivas en el Finder

Quiero escribir una aplicación AppleScript que inicie un pase de diapositivas a pantalla completa con todas las imágenes de la carpeta actualmente activa en Finder (en Big Sur/Apple M1).

Manualmente, en el Finder tendría que abrir una carpeta, pulsar command ⌘ + A para seleccionar todas las imágenes (o archivos) que hay dentro, y luego pulse option ⌥ + spacebar para iniciar el pase de diapositivas.

Quiero escribir un script-App, que haga todo eso por mí (y que luego pueda poner en la barra de herramientas del Finder). Soy un novato en todo esto, así que por favor, ¡explíquenlo para el tonto que soy!

0voto

UVy Puntos 11

Me lo imaginé y escribí un simple script, que hace esto: 1) abre la carpeta seleccionada en el Finder 2) selecciona todos los archivos de esa carpeta 3) inicia la presentación. Se puede guardar como una App y luego ponerla en la barra de herramientas del Finder. Funciona en Big Sur/M1, sin embargo tienes que permitir script Editor y esta App 'Accesibilidad' y 'Automatización' en Preferencias del Sistema/Seguridad&Privacidad.

Cualquier mejora será bienvenida. Especialmente no he podido averiguar cómo hacer que el script cierre la carpeta seleccionada/abierta de nuevo y suba un nivel. El código clave para eso sería "código clave 126 usando {comando abajo}" (para COMANDO+Flecha arriba); sin embargo, no sé cómo integrar eso en el script para que realmente funcione.

tell application "Finder"
    activate
    tell application "System Events"
        tell process "Finder"
            key code 31 using {command down}
        end tell
    end tell

    activate
    tell application "System Events"
        tell process "Finder"
            key code 0 using {command down}
        end tell
    end tell

    activate
    tell application "System Events"
        tell process "Finder"
            key code 49 using {option down}
        end tell
    end tell
end tell

0voto

user3439894 Puntos 5883

No tengo una M1 Mac Sin embargo, lo siguiente fue probado y funciona en un Intel basado en Mac corriendo MacOS Big Sur .

La intención del ejemplo AppleScript código que se muestra a continuación, es imitar los eventos manuales necesarios para iniciar un presentación de diapositivas de los seleccionados artículos en Buscador o el contenido del ventana mismo sin nada seleccionado, haciéndolo con un AppleScript aplicación colocado en su Barra de herramientas .

  • Si no se selecciona nada en el ventana frontal cuando el icono de la aplicación se pulsa en el Barra de herramientas entonces todos artículos se seleccionan y el presentación de diapositivas comienza.

  • Si el individuo archivos se seleccionan en el ventana frontal cuando el icono de la aplicación se pulsa en el Barra de herramientas El presentación de diapositivas comienza con el individuo seleccionado archivos .

  • Si un carpeta se selecciona en el ventana frontal cuando el icono de la aplicación se pulsa en el Barra de herramientas , entonces si el carpeta no está ya abierto, se abre, el artículos se seleccionan y el presentación de diapositivas comienza. Si el carpeta ya está abierto, el artículos se seleccionan y el presentación de diapositivas comienza. Esto tiene en cuenta los distintos vistas el ventana puede estar dentro, es decir vista de iconos , vista de lista o vista de columna .

Tenga en cuenta que ninguna otra manipulación del estado de la ventana frontal se intenta después de la presentación de diapositivas termina porque, si se iniciara manualmente, cualquier otra acción tendría que hacerse manualmente a posteriori de todos modos. Además, cualquier AppleScript método empleado, si es posible, para desencadenar algo después de la presentación de diapositivas acabados probablemente requeriría muchos recursos, al tener que supervisar constantemente su estado y actuar en consecuencia. Por lo tanto, no considero que sea práctico implementarlo, incluso si es posible hacerlo.

El ejemplo AppleScript código se guardó como un AppleScript aplicación llamado Iniciar presentación de diapositivas en script Editor , dado un icono personalizado en Buscador y se añade a su Barra de herramientas como se muestra en la siguiente imagen.

enter image description here


Ejemplo AppleScript código :

tell application "Finder"
    activate
    set mySelection to selection
    if mySelection is {} then
        set selection to every item of front window
        my startSlideshow()
    else
        set mySelectionAlias to first item of mySelection as alias
        set mySelectionAliasProperties to properties of mySelectionAlias
        if the class of mySelectionAliasProperties is folder then
            if name of front window is equal to name of mySelectionAliasProperties then
                set selection to every item of front window
                my startSlideshow()
            else
                my openFolder()
                set selection to every item of front window
                my startSlideshow()
            end if
        else
            my startSlideshow()
        end if
    end if
end tell

on openFolder()
    tell application "System Events" to ¬
        key code 31 using command down
    delay 0.2
end openFolder

on startSlideshow()
    tell application "System Events" to ¬
        key code 49 using option down
end startSlideshow

Nota: El <em>ejemplo </em><strong>AppleScript </strong><em>código </em>es sólo eso y no contiene ningún <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado. Eche un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>intente </strong></a><em>declaración </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>error </strong></a><em>declaración </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía del lenguaje AppleScript </strong></a>. Véase también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con errores </strong></a>. Además, el uso del <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retraso </strong></a><em>comando </em>puede ser necesario entre eventos cuando sea apropiado, por ejemplo <code>delay 0.5</code> con el <em>valor </em>de la <em>retraso </em>ajustado apropiadamente.

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