Toggle status de notificação do Skype

1

Ser notificado se um contato aparece on-line / off-line ou não pode ser alterado por meio das Opções do Skype ou por meio do ~/.skype/your_skype_id/config.xml . Neste arquivo, dependendo do que você escolheu, pode encontrar as seguintes linhas:

<Notify>
  <Chat>0</Chat>
  <Offline>1</Offline>
  <Online>1</Online>
</Notify>

onde <Offline>n</Offline> (resp. <Online>n</Online> ) corresponde à opção "O contato entrou off-line" (resp. "Contato entrou on-line" ) e em que n obviamente indica se está ligado ou não.

Assim, minha pergunta é a seguinte: É possível ativar ou desativar as notificações automaticamente?

É importante observar que Offline e Online aparecem apenas uma vez no arquivo XML .

Até agora tudo o que posso fazer é:

sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

onde 197 é o número da linha (que é dependente de maiúsculas e minúsculas, por isso é muito ruim), e onde eu não verifico o status existente da notificação, apenas a desativo.

Em resumo, o que eu gostaria de fazer é alterar 0 to 1 (ou 1 to 0 ) automaticamente para as duas linhas.

    
por Öskå 13.06.2014 / 20:18

1 resposta

2

Isso soa como um trabalho para um script bash / shell.

O que eu faria é criar uma instrução if simples usando o grep para pesquisar o arquivo por 1 ou 0 e, em seguida, substituí-los usando o comando que você tem. Diga:

if grep -q "<Online>1</Online>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

elif grep -q "<Online>0</Online>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>0</Online>!<Online>1</Online>!'
fi

if grep -q "<Offline>1</Offline>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'

elif grep -q "<Offline>0</Offline>" "config.xml"; then
        echo "Statement Returned True, Will now execute"
        sed -i config.xml -e '197s!<Online>0</Online>!<Online>1</Online>!'
fi

E coloque isso em uma corrida.sh ou algo assim.

    
por 14.08.2014 / 04:00