A partir de um script BASH, quero obter informações do usuário e alterar as configurações do sistema, em um loop. Eu tentei o cocoaDialog pela primeira vez, mas isso tem uma falha fatal: as caixas de diálogo estão sempre em cima de outras janelas.
Idealmente, eu poderia abrir uma caixa de diálogo com os botões "definir modo de suspensão" e "definir modo de espera" (para alternar as configurações "Impedir que o computador durma automaticamente quando a tela estiver desligada") e a caixa de diálogo / janela permaneceria quando os botões fossem pressionados. pressionado. No caso do cocoaDialog, tive que abrir uma nova caixa de diálogo cada vez que um botão era pressionado. Teria sido bom, mas, além do problema acima mencionado, colocar uma nova caixa de diálogo posiciona-a no meio da tela e não onde estava a antiga (e o cocoaDialog não tem argumentos de posicionamento para caixas de diálogo).
Alguém sabe de uma solução? Eu suspeito que o AppleScript funcionaria, mas é tão complexo e não consegui encontrar exemplos adequados que eu pudesse copiar / modificar.
Obrigado.
Respostas:
Eu encontrei duas soluções. O melhor é o segundo.
Solução 1: use Tcl / Tk:
onde prevent_computer_sleep apenas faz
sudo pmset sleep 0
e allow_computer_sleep fazsudo pmset sleep 1
.Solução 2: modifique o KeepingYouAwake para usar o sistema em suspensão e não exibir suspensão: o meu fork do KeepingYouAwake .
fonte