No OS X 10.8, os usuários podem desativar o Notification Center por um único dia. Existe uma maneira de verificar se está ativado na linha de comando?
No OS X 10.8, os usuários podem desativar o Notification Center por um único dia. Existe uma maneira de verificar se está ativado na linha de comando?
Respostas:
Você realmente pode descobrir se a opção Não perturbe está ativada ou desativada no momento. O Centro de Notificações descarta um plist no seguinte local do qual você pode ler o valor. Execute o seguinte para encontrar o arquivo plist:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Agora, você pode ler o valor do plist que acabou de encontrar usando:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
NOTA: seu nome de arquivo real pode ser diferente do que eu listei acima.
Você verá uma chave chamada "doNotDisturb" e ela terá o valor 1 ou 0 (ativado ou desativado)
Você também pode alterar seu status fazendo:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
ou:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
Para que a alteração entre em vigor, você precisará reiniciar o Centro de Notificação digitando:
killall NotificationCenter
Na verdade, eu escrevi um script muito simples do Automator e agora posso ativar / desativar o Não perturbe para o Notification Center com um atalho de teclado. Muito conveniente. :)
killall NotificationCenter
redefinirá as configurações para o padrão, mas não as recarregará.
Provavelmente, a melhor maneira de pensar é instalar o notificador de terminal e enviar uma mensagem a partir do terminal.
O notificador de terminal pode ser instalado através do Ruby Gems
Tipo:
sudo gem install terminal-notifier
Tipo:
terminal-notifier -message "O centro de notificações está executando" -title "NC Status"
Se o centro de notificações estiver em execução, você receberá uma mensagem dizendo "O centro de notificações está em execução"
No momento, as maneiras de interagir com o Centro de Notificação programaticamente (inclusive via linha de comando) são bastante limitadas. Como InfluenceJamie observou, existe o notificador de terminal , que permite enviar notificações a partir da linha de comando, mas enviar notificações é praticamente o que todos os programas podem fazer no momento. Pela minha leitura da documentação do desenvolvedor , os programas podem apenas enviar e obter informações sobre as notificações específicas que eles enviam, nenhuma informação de status para o próprio Centro de Notificação ou outras notificações. Também não há interface da Applescript.
Portanto, no momento, você está limitado a testar manualmente se uma notificação é aprovada, como sugeriu InfluenceJamie , ou na esperança de que alguém descubra as APIs privadas da Apple e faça uma interface de linha de comando.
A configuração do centro de notificações é armazenada na ~/Library/Preferences/ByHost
pasta, o que significa que são configurações específicas da máquina.
Você pode usar o defaults -currentHost
comando para ler as configurações. -currentHost
é usado para especificar a ByHost
configuração e não a específica do usuário comum armazenada ~/Library/Preferences
.
defaults -currentHost read com.apple.notificationcenterui doNotDisturb
O valor de saída 1
significa que está ativado, 0
para desativado.
De fato, o comando acima está lendo as opções do ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
arquivo.
Advertências : Definir ByHost
opções com defaults -currentHost write
não funciona. As opções são realmente gravadas no arquivo, mas não são recarregadas pelo daemon correspondente. Eu acho que isso é um bug.