Mac. Auto-fechar programas específicos após a inatividade do sistema

4

Problema: Programas como Things e Together não gostam de ser abertos em dois locais, então, enquanto o Dropbox é ótimo para algumas coisas, é menos do que ideal para eles. A perda de dados pode ocorrer. Portanto, usá-los no desktop / laptop é um problema e lembrar de sair deles provou não funcionar de forma consistente.

Solução desejada: Um aplicativo pago (é preciso existir com certeza? Tem que haver mais do que eu que queira isso) para o qual eu posso adicionar programas específicos e auto-encerrá-los após x minutos do sistema - não esse programa - inatividade. ou Uma solução applescript com alguma explicação sobre o uso. Estou perplexo com o applescript e o automator. Eu tentei encontrar alguma maneira de amarrar isso para o protetor de tela, mas nada que eu tentei funcionou.

Super pontos de bônus: para o aplicativo encerrar os programas selecionados no modo de suspensão.

Sei que posso acessar a área de trabalho do laptop, mas prefiro uma solução mais automatizada, se ela existir. Eu olhei, mas se estiver lá fora, não consigo encontrá-lo.

Qualquer ideia seria muito bem vinda. Obrigado!

    
por Mark 12.03.2011 / 21:02

1 resposta

0

Eu usei um script para lidar com isso:

(*
Applescript Application to Auto Quit Things after certain period of system idle
http://culturedcode.com/forums/read.php?7,30174,30597
*)
(*
To make this runable, save as application.
To not show in Dock, set LSBackgroundOnly in Info.plist of created app bundle, or other ways in http://groups.google.com/group/macenterprise/browse_thread/thread/be7db35451e1dc70
*)

global quit_after, check_every

set quit_after to 900
set check_every to 100

(*
display dialog "Check is performed every " & check_every & " seconds. Things will be quit after " & quit_after & " seconds of system inactivity."
*)

on reopen
    display dialog "Check is performed every " & check_every & " seconds. Things will be quit after " & quit_after & " seconds of system inactivity."
end reopen

on idle
    set idletime to do shell script "echo $(('ioreg -c IOHIDSystem | sed -e '/HIDIdleTime/ !{ d' -e 't' -e '}' -e 's/.* = //g' -e 'q'' / 1000000000))"
    if (idletime as integer) > quit_after then
        tell application "System Events"
            if ((name of processes) contains "Things") then
                tell application "Things" to quit
            end if
        end tell
    end if
    return check_every
end idle

Você pode executá-lo com o AppleScript Editor para criar um aplicativo e depois executá-lo automaticamente, definindo Login Items em Account preferência do sistema. Por favor, siga os links da web em códigos para mais detalhes.

    
por 31.03.2012 / 08:49

Tags