bug di errore: la finestra di dialogo iniziale "scegli dalla lista" di AppleScript non è selezionata

1

Eseguo il seguente codice nel terminale:

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

Se la prima finestra di dialogo del mio file .scpt è una finestra di dialogo choose from list , questa finestra di dialogo sarà deselezionata. Cioè, non posso semplicemente premere il tasto invio per premere "OK"; Devo dapprima fare clic in qualsiasi punto della finestra di dialogo per fare in modo che la barra superiore della finestra cambi da bianca a grigia, e solo allora posso premere invio per procedere.

Per essere chiari, la finestra di dialogo si presenta in primo piano, semplicemente non è selezionata.

Tuttavia, se la prima finestra di dialogo è una finestra di dialogo display dialog o display alert , la finestra di dialogo è selezionata automaticamente. Accade solo che la finestra di dialogo iniziale del mio file .scpt sia una finestra di dialogo choose from list .

Ho provato a scrivere activate me sulla riga sopra la finestra di dialogo choose from list , ma questo non ha fatto nulla.

Quando eseguo "Esegui questo script su wake.scpt" da Script Editor, la finestra di dialogo choose from list è in effetti selezionata. Quindi, sappiamo che il problema è relativo a osascript .

Qualcuno ha una soluzione alternativa per forzare la selezione della finestra di dialogo choose from list ?

Ho provato a implementare una selezione predefinita inserendo il parametro default items nel comando choose from list (anche se in realtà non voglio che esista un elemento predefinito in questo caso). Ho pensato che fare ciò avrebbe potuto forzare la selezione della finestra di dialogo. Tuttavia, la finestra di dialogo dell'elenco non è selezionata.

Come ultima risorsa, suppongo che potrei usare AppleScript per fare clic con il mouse sul centro dello schermo (dove si trova la finestra di dialogo). Ma preferirei una soluzione più elegante, in quanto AppleScript può non essere affidabile quando si tratta di clic del mouse.

Se ti stai chiedendo perché sto utilizzando osascript in primo luogo, è perché sto usando SleepWatcher a esegue automaticamente un AppleScript quando il computer si riattiva dallo stato di stop. ( Ecco una guida molto utile che ho usato per configurare SleepWatcher.)

Questo è il testo completo del mio file .wakeup:

#!/bin/bash
osascript "/Users/Me/Desktop/Run this script on wake.scpt"
    
posta rubik's sphere 07.03.2017 - 19:42
fonte

2 risposte

1

Questo è strano .. Per ora, ti consiglio di salvare il tuo script come un eseguibile. Questo può essere fatto aprendo il tuo Applescript nello Script Editor, quindi facendo clic sul menu File, quindi su Esporta, quindi scegliendo "Applicazione" nella casella a discesa Formato file. Potresti quindi creare un oggetto Applescript che esegue questa applicazione.

    
risposta data 08.03.2017 - 05:28
fonte
0

Come ho già scoperto nel contesto di una domanda diversa, il tuo problema è il "me" nel tuo script e quindi non è solo "correlato" ad osascript:

osascript È il tuo problema ...

... come osascript è NON un semplice comando nel Terminale ma in realtà un suo processo .
Se vuoi aprire un file da Terminal devi "attivare Terminal" e NON "attivarmi" [= osascript].

(Dal momento che hai già accettato una risposta come tua "scelta", limiterò la mia risposta a questo suggerimento.)

    
risposta data 20.11.2018 - 13:24
fonte

Leggi altre domande sui tag