Mi chiedo come avere un avviso popup sul mio computer (Mac OS X) ogni ora. Ho pensato di scrivere questo in Applescript sarebbe piuttosto semplice, ma non ho esperienza con Applescript. GrazieCome scrivere Applescript che mi darà un avviso popup orario
risposta
Il gestore di base per fare cose su base regolare in AppleScript è il gestore inattivo.
on idle
display dialog "Go back to work" buttons "Work Harder" default button "Work Harder"
return 3600
end idle
Questo script aprirà una finestra di dialogo all'avvio dell'applicazione e quindi ogni 3.600 secondi dopo aver premuto il pulsante. Qualunque numero restituito dal gestore inattivo sarà il numero di secondi prima che venga attivato il successivo evento inattivo.
Se si desidera che sia nella mezz'ora e non ogni sessanta minuti, si vorrebbe che lo script inattivo restituisca un numero diverso di secondi, forse 60, quindi verificare se ci si trova parte giusta dell'ora.
on idle
if the minutes of the (current date) is 30 then
display dialog "Go back to work" buttons "Work Harder" default button "Work Harder"
end if
return 60
end idle
Questo mostrerà solo il dialogo a metà passato. (Come Unix, il concetto di AppleScript della data corrente include l'ora corrente.)
In ogni caso, si desidera salvare in AppleScript Editor come "Applicazione" e "Rimani aperto" per far sì che risponda agli eventi inattivi di smettere di fumare dopo aver corso. E puoi aggiungere l'applicazione alla tua lista di "Elementi di login" nella preferenza di sistema "Account" per eseguirla automaticamente quando effettui il login.
Grazie. Nomi dei pulsanti validi – Kramer
Se fossi stato più sveglio, sarebbero stati più simili a Animal Farm. –
Non sarebbe più semplice sottrarre i minuti della data corrente dalla sessanta, moltiplicarla per 60 e restituirla nella seconda versione? In questo modo, non è necessario controllare ogni minuto. – 11684
Dopo aver provato la soluzione Jerry, ho trovato un problema. Se la tua App AppleScript non è "superata" al momento dell'evento, potresti ricevere un errore AppleScript e l'unica cosa che ti chiamerà è il lampeggiare delle icone nel documento. così ho fatto un piccolo cambiamento: Aprire l'editor AppleScript e digitare questo:
on idle
tell application "call_me"
activate
end tell
display dialog "Back to work" buttons "Work!" default button "Work!"
return 3600
end idle
Salvare lo script durante la selezione "Applicazione" nel menu in basso del selettore file e quindi il controllo "Non smettere "(in francese" Ne pas quitter aprés l'exécution ") così l'App resterà attiva anche dopo l'evento. È necessario assegnare il nome "call_me" alla propria app o, se si modifica il nome, modificare anche questo nome nel codice (attivare l'applicazione "xxxx") Ogni 3600 secondi, l'app verrà completata e quindi verrà visualizzato casella di avviso.
Un solo punto: la prima volta che salvi l'app, Applescript ti mostrerà un selettore e ti chiederà "Dov'è call_me.app?" Basta cancellare questo selettore e salvare.
Oh !! Devo tornare al lavoro !!
Esercitazione su applescript per iniziare: http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_1/appscript_tut_1.htm – FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner Link morto! –