Come posso avviare automaticamente un'applicazione ogni volta che il Mac diventa inattivo?

14

C'è un modo per avviare un'applicazione, ad esempio la trasmissione, ogni volta che il computer diventa inattivo (invece di dormire)?

    
posta Petruza 02.02.2012 - 22:02
fonte

5 risposte

6

Questa è un'impresa molto difficile da realizzare, soprattutto perché non esiste una definizione specifica di "Idle". Gli unici programmi che ho visto in realtà hanno funzioni inattive sono Instant Messaging Clients e le recenti versioni di Mac App Store di Growl . E quelli semplicemente hanno un tempo configurabile che si spegne dopo il numero impostato di minuti in cui non si verificano attività del mouse / tastiera.

Ci sono stati discussioni simili sui forum Macworld alcuni anni fa e un post specifico che essenzialmente comporta creare ed eseguire un AppleScript che monitorerà il tuo utilizzo e avvierà un'applicazione quando vai "inattivo".

property idleCheck : 20 as integer
property idleCheck_usr : 120 as integer
set timer to 0
on idle
    --Check idle time
    set idletime to do shell script "ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print int($NF/1000000000); exit}'"
    set idletime to idletime as string
    set idletime to idletime as integer

    tell application "System Events"
        if idletime is less than idleCheck then (* 20 is 20 seconds. If a key was tapped within the idleCheck seconds, it quits the app. *)
            tell application "TextEdit" to quit

            return idleCheck -- checks again in ... seconds
        else
            if idletime is greater than idleCheck_usr then (*  If a key was tapped after the idleCheck_usr seconds it opens the app. *)
                tell application "TextEdit" to launch   
            end if

            return idleCheck
        end if
    end tell
end idle

In questo caso l'inattività è solo dopo 2 minuti, ma è possibile modificarlo facilmente se necessario. Dovrai anche modificare la linea per aprire Transmission anziché TextEdit.

Nota che dovrai aprire questo AppleScript e lasciarlo in esecuzione in modo che l'azione (avviando un'applicazione inattiva) si verifichi mai.

    
risposta data 02.02.2012 - 22:56
fonte
6

Hai provato a utilizzare Scenario ? È sul Mac App Store. Anche se non l'ho provato da solo. Sembra che potrebbe fare ciò di cui hai bisogno. Spero che questo ti aiuti.

    
risposta data 02.02.2012 - 23:58
fonte
2

Che ne dici di Sleepwatcher ?

"SleepWatcher 2.2 (in esecuzione con Mac OS X da 10.5 a 10.7, codice sorgente incluso) è uno strumento da riga di comando (daemon) per Mac OS X che monitora il sonno, la sveglia e l'ozio di un Mac. Può essere utilizzato per eseguire Comando Unix quando il Mac o il display del Mac passa in modalità sospensione o si riattiva, dopo un determinato intervallo di tempo senza interazione dell'utente o quando l'utente riprende l'attività dopo un'interruzione o quando l'alimentatore di un notebook Mac è collegato o scollegato. può anche inviare il Mac alla modalità di sospensione o recuperare il tempo dall'ultima attività dell'utente. "

Per avviare un'app (utilizzando un comando), dovresti fare qualcosa di simile al seguente:

open /Applications/Transmission.app
    
risposta data 04.02.2012 - 00:08
fonte
2

Power Manager può essere utilizzato per avvia un'applicazione dopo l'inattività .

Come afferma Jason nella sua risposta, l'implementazione di Apple dei tempi di inattività è difficile da prevedere. Power Manager utilizza una misura di inattività basata sull'attività dell'utente; questo è più facile da prevedere e più probabilmente quello che stai cercando.

    
risposta data 18.07.2012 - 18:51
fonte
0

Se lo screen saver che inizia è ciò che intendi come idel puoi guardare ScriptSaver che si trasforma in uno screen saver e quindi, quando viene chiamato, richiama il tuo annuncio AppleScript su uno screen saver.

    
risposta data 18.07.2012 - 19:59
fonte

Leggi altre domande sui tag