Alternar estado de notificación de Skype

Alternar estado de notificación de Skype

Recibir una notificación si un contacto aparece en línea/fuera de línea o no se puede cambiar a través delOpciones de Skypeo a través del ~/.skype/your_skype_id/config.xml. En este archivo, dependiendo de lo que hayas elegido, puedes encontrar las siguientes líneas:

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

donde <Offline>n</Offline>(resp. <Online>n</Online>) corresponde a la"El contacto se desconectó"(resp."El contacto se puso en línea") opción y donde nobviamente indica si está activado o no.

Entonces mi pregunta es la siguiente:¿Se pueden activar o desactivar las notificaciones automáticamente?

Es importante tener esto en cuenta Offliney Onlineaparecer solo una vez en el XMLarchivo.

Hasta ahora todo lo que puedo hacer es:

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

¿Dónde 197está el número de línea (que depende de mayúsculas y minúsculas, por lo que es bastante malo) y cuando no verifico el estado existente de la notificación, solo la desactivo?


En resumen, lo que me gustaría hacer es cambiar 0a 1(o 1a 0) automáticamente a ambas líneas.

Respuesta1

Esto suena como un trabajo para un script bash/shell.

Lo que haría es crear una declaración if simple usando grep para buscar en el archivo 1 o 0 y luego reemplazarlos usando el comando que tiene. Decir:

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

Y pon eso en run.sh o algo así.

información relacionada