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


15

Esiste un modo per avviare un'applicazione, ad esempio Trasmissione, ogni volta che il computer rimane inattivo (anziché inattivo)?

Risposte:


7

Questa è un'impresa molto difficile da realizzare, principalmente perché non esiste una definizione specifica di "Idle". Gli unici programmi che ho visto per avere effettivamente funzionalità inattive sono i client di messaggistica istantanea e le recenti versioni di Growl del Mac App Store . E quelli hanno semplicemente un tempo configurabile che si spegne dopo il numero impostato di minuti in cui non si verificano attività del mouse / tastiera.

Ci sono state discussioni simili sui forum di Macworld alcuni anni fa e un post specifico che essenzialmente prevede la creazione e l'esecuzione di un AppleScript che monitorerà il tuo utilizzo e avvierà un'applicazione quando sarai 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 il minimo è solo dopo 2 minuti, ma puoi facilmente cambiarlo per renderlo più lungo se necessario. Dovrai anche modificare la riga per aprire Trasmissione invece di TextEdit.

Nota che dovrai aprire questo AppleScript e lasciarlo in esecuzione affinché l'azione (avviando un'applicazione in idle) possa mai avvenire.


7

Hai provato a usare Scenario ? È sul Mac App Store. Anche se non l'ho provato da solo. Sembra che potrebbe fare quello che ti serve. Spero che sia di aiuto.


Stavo per suggerire di eseguire un'installazione personale di Condor su una macchina ma Scenario sembra coprire tutto lo stesso terreno e altro ed è specifico per Mac. Molto bella.
Ian C.

3

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 (demone) per Mac OS X che monitora la sospensione, la riattivazione e l'ozio di un Mac. Può essere utilizzato per eseguire un comando Unix quando il Mac o il display del Mac passano in modalità sospensione o si riattivano, dopo un determinato periodo di tempo senza l'interazione dell'utente o quando l'utente riprende l'attività dopo un'interruzione o quando l'alimentazione di un notebook Mac è collegata o scollegata. Inoltre, può inviare il Mac in modalità sospensione o recuperare il tempo trascorso dall'ultima attività dell'utente. "

Per avviare un'app (usando un comando), dovresti fare qualcosa come il seguente:

open /Applications/Transmission.app

2

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

Come menziona 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ù probabile sia quello che stai cercando.

Power Manager: avvia un'applicazione dopo l'inattività


0

Se l'avvio dello screen saver è ciò che intendi come idel, potresti guardare ScriptSaver che si trasforma in uno screen saver e quindi quando viene chiamato chiama il tuo annuncio AppleScript uno screen saver.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.