Determinar o estado da tela do Mac usando o AppleScript

5

Existe uma maneira de determinar em que estado a tela do Mac está? Eu gostaria de ter um script que verifique se a tela está em um estado não ativo; Portanto, o protetor de tela está em execução ou o monitor está inativo. Isso pode ser feito até mesmo através do applescript?

Eu estou tentando fazer um script semelhante a estes scripts de detecção de proximidade , exceto que eu quero que eles sejam ativados quando eu tiver ativado manualmente o protetor de tela, colocar o monitor em suspensão ou quando o sistema ativar o protetor de tela baseado em tempo e exibir as configurações de suspensão.

user47883
fonte

Respostas:

2

Sim, com este código:

set display_sleep_state to do shell script "ioreg -n IODisplayWrangler |grep -i IOPowerManagement"
if display_sleep_state contains sleeping then
   -- Display is asleep
else if display_sleep_state contains awake then
   -- Display is awake
else
   -- We don't know.
end if
Wuffers
fonte
Fazendo todo o trabalho usando do shell script dificilmente qualifica como sim ;-)
Daniel Beck
@DanielBeck: Por quê? Isso resolve o problema, não é?
Wuffers
Eu votei por causa disso - eu me referi a isso como uma solução AppleScript.
Daniel Beck
Os resultados que recebo da primeira linha não mencionam "sleep": "IOPowerManagement" = {"TimeSinceDeviceIdle" = 5609187, "DevicePowerState" = 4, "CurrentPowerState" = 4, "ActivityTickles" = 192146, "TimeSinceActivityTickle" = 50 , "IdleTi $
Billbad