
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 n
obviamente 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 Offline
y Online
aparecer solo una vez en el XML
archivo.
Hasta ahora todo lo que puedo hacer es:
sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'
¿Dónde 197
está 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 0
a 1
(o 1
a 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í.