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

1

Ejecuto el siguiente código en la Terminal:

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

Si el primer cuadro de diálogo de mi archivo .scpt es un cuadro de diálogo choose from list , este cuadro de diálogo no se seleccionará. Es decir, no puedo simplemente presionar la tecla ingresar para presionar "Aceptar"; Primero debo hacer clic en cualquier parte del cuadro de diálogo para hacer que la barra superior del cuadro de diálogo cambie de blanco a gris, y solo así puedo presionar ingresar para continuar.

Para que quede claro, el cuadro de diálogo aparece bien en la parte frontal, simplemente no está seleccionado.

Sin embargo, si el primer cuadro de diálogo es un cuadro de diálogo display dialog o display alert , el cuadro de diálogo se seleccionará automáticamente. Da la casualidad de que el diálogo inicial de mi archivo .scpt es un diálogo choose from list .

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

Cuando ejecuto "Ejecutar esta secuencia de comandos en wake.scpt" desde el Editor de secuencias de comandos, el cuadro de diálogo choose from list está seleccionado. Por lo tanto, sabemos que el problema está relacionado con osascript .

¿Alguien tiene una solución alternativa para forzar la selección automática del cuadro de diálogo choose from list ?

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

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

Si se pregunta por qué estoy empleando osascript en primer lugar, es porque estoy usando SleepWatcher para ejecutar automáticamente un AppleScript cuando mi computadora se despierta de la suspensión. ( Aquí hay 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"
    
pregunta rubik's sphere 07.03.2017 - 19:42

2 respuestas

1

Esto es raro ... Por ahora, te recomiendo que guardes tu script como ejecutable. Esto se puede hacer abriendo su Applescript en el Editor de secuencias de comandos, luego haciendo clic en el menú Archivo, luego Exportar, luego seleccionando "Aplicación" en el cuadro desplegable Formato de archivo. Luego puedes crear un Applescript que ejecute esta aplicación.

    
respondido por el Jake3231 08.03.2017 - 05:28
0

Como ya descubrí en el contexto de una pregunta diferente, su problema es el "yo" en su script y, por lo tanto, no solo está "relacionado" con osascript:

osascript ES TU problema ...

... ya que osascript no es un mero comando en la Terminal, pero en realidad es un proceso propio .
Si quieres abrir un archivo desde la Terminal, debes "activar la Terminal" y NO "activarme" [= osascript].

(Dado que ya aceptaste una respuesta como tu "elegida", limitaré mi respuesta a esta sugerencia).

    
respondido por el clemsam lang 20.11.2018 - 13:24

Lea otras preguntas en las etiquetas