0 votos

Servicio Automator que funciona con y sin selección

Tengo un AppleScript que quiero ejecutar con un atajo de teclado. El script utiliza la selección actual de texto si está disponible, pero también funcionará sin ella. He creado un servicio de Automator para esto.

Si selecciono "El servicio recibe el texto seleccionado", funciona si tengo el texto seleccionado, pero no se ejecuta si no tengo el texto seleccionado. Puedo cambiar a "El servicio no recibe ninguna entrada", pero entonces no obtendré la selección aunque tenga algo seleccionado antes.

Lo que busco es alguna forma de lanzar el script y pasar la selección está disponible, y lanzar el script sin entrada (o vacío) si no hay nada seleccionado. Pero debería funcionar con el mismo atajo de teclado en ambos casos. ¿Es esto posible? Gracias.

1voto

SPRBRN Puntos 1008

No tengo una respuesta exacta a tu problema, pero quizás podrías considerar un applescript normal que envíe el comando COPY y compruebe el contenido del portapapeles antes y después. Así...

# For testing only; Delay so we can switch to the app with text
delay 2

# Clear the clipboard so we have a clean state
set the clipboard to ""

    tell application "System Events"

    # Send the 'Copy' command
    keystroke "c" using command down
    delay 0.2

    # Grub the clipboard contents
    set the_sel to the clipboard

    # Is it empty? We either failed or no selection present
    if the_sel is equal to "" then
        display dialog "No Text selected"
    else
        display dialog "Text was: " & the_sel
    end if
end tell

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