3 votos

Error de osascript: El cuadro de diálogo inicial de AppleScript "elegir de la lista" no está seleccionado

Ejecuto el siguiente código en el Terminal:

osascript "/Users/Me/Desktop/Run this script on wake.scpt"

Si el primer diálogo de mi archivo .scpt es un choose from list este diálogo se desmarcará. Es decir, no puedo simplemente pulsar el botón enter para pulsar "OK"; primero debo hacer clic en cualquier parte del diálogo para que la barra superior del mismo cambie de blanco a gris, y sólo entonces puedo pulsar enter para proceder.

Para que quede claro, el cuadro de diálogo aparece perfectamente, simplemente no se selecciona.

Sin embargo, si el primer diálogo es un display dialog o display alert y luego el diálogo es automáticamente seleccionada. Sucede que el diálogo inicial de mi archivo .scpt es un choose from list diálogo.

Intenté escribir activate me en la línea por encima del choose from list diálogo, pero esto no hizo nada.

Cuando ejecuto el "Ejecutar este script en wake.scpt" desde el Editor de script, el choose from list El diálogo está seleccionado. Por lo tanto, sabemos que el problema está relacionado con osascript .

¿Alguien tiene una solución para forzar el choose from list ¿se selecciona automáticamente el diálogo?

He intentado implementar una selección por defecto insertando el default items en el parámetro choose from list (aunque en realidad no quiero que exista un elemento por defecto en este caso). Pensé que haciendo esto podría forzar el diálogo a ser seleccionado. Pero, aún así, el diálogo de la lista no está seleccionado.

Como último recurso, supongo que podría utilizar AppleScript para hacer clic con el ratón en el centro de la pantalla (donde se encuentra el diálogo). Pero, preferiría una solución más elegante, ya que AppleScript puede ser poco fiable cuando se trata de clics del ratón.


Si se pregunta por qué estoy empleando osascript en primer lugar, es porque estoy usando SleepWatcher para ejecutar automáticamente un AppleScript cuando mi ordenador se despierta de la suspensión. ( Esta es una guía muy útil que utilicé para configurar SleepWatcher).

Este es el texto completo de mi archivo .wakeup:

#!/bin/bash
osascript "/Users/Me/Desktop/Run this script on wake.scpt"

1voto

xilolee Puntos 11

Esto es raro.. Por ahora, te recomiendo que guardes tu script como un ejecutable. Esto se puede hacer abriendo tu Applescript en el Editor de script, luego haciendo clic en el menú Archivo, luego en Exportar, y luego eligiendo "Aplicación" en el cuadro desplegable de Formato de Archivo. A continuación, puede crear un Applescript que ejecute esta aplicación.

0voto

zonble Puntos 2925

Como ya averigüé en el contexto de otra pregunta, tu problema es el "yo" de tu script y por tanto no está sólo "relacionado" con el osascript:

osascript ES SU problema

como es osascript NO es una simple orden en la Terminal, pero en realidad un proceso propio .
Si quieres abrir un archivo desde el Terminal tienes que "activar el Terminal" y NO "activame" [= osascript].

(Como ya has aceptado una respuesta como la "elegida", me limitaré a responder a esta pista).

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