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"