
Ser notificado se um contato aparece online/offline ou não pode ser alterado através doOpções do Skypeou através do ~/.skype/your_skype_id/config.xml
. Neste arquivo, dependendo do que você escolheu, você 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 ao"Contato ficou off-line"(resp."O contato ficou online") e onde n
obviamente indica se está ativado ou não.
Assim minha pergunta é a seguinte:É possível ativar/desativar as notificações automaticamente?
É importante observar isso Offline
e Online
aparecer apenas uma vez no XML
arquivo.
Até agora tudo que posso fazer é:
sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'
onde 197
está o número da linha (que depende de maiúsculas e minúsculas, então é muito ruim) e onde não verifico o status existente da notificação, apenas desativo.
Resumindo, o que eu gostaria de fazer é mudar 0
para 1
(ou 1
para 0
) automaticamente para ambas as linhas.
Responder1
Isso parece um trabalho para um script bash/shell.
O que eu faria é criar uma instrução if simples usando grep para pesquisar 1 ou 0 no arquivo e substituí-los usando o comando que você possui. Dizer:
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 um run.sh ou algo assim.