
Die Benachrichtigung, ob ein Kontakt online/offline erscheint oder nicht, kann über dieSkype-Optionenoder über die ~/.skype/your_skype_id/config.xml
. In dieser Datei finden sich, je nach Auswahl, folgende Zeilen:
<Notify>
<Chat>0</Chat>
<Offline>1</Offline>
<Online>1</Online>
</Notify>
wobei <Offline>n</Offline>
(bzw. <Online>n</Online>
) entspricht dem„Kontakt kam offline“(bzw.„Kontakt kam online“) Option und wo n
offensichtlich angegeben ist, ob sie aktiviert ist oder nicht.
Meine Frage ist daher folgende:Kann man die Benachrichtigungen automatisch ein-/ausschalten?
Es ist wichtig, dies zu beachten Offline
und Online
es erscheint nur einmal in der XML
Datei.
Bisher kann ich nur Folgendes tun:
sed -i config.xml -e '197s!<Online>1</Online>!<Online>0</Online>!'
wo 197
die Zeilennummer ist (die von der Groß- und Kleinschreibung abhängt, also ziemlich schlecht ist) und wo ich den bestehenden Status der Benachrichtigung nicht überprüfe, sondern sie nur ausschalte.
Kurz gesagt, ich möchte, dass beide Zeilen automatisch 0
in 1
(oder 1
in 0
) geändert werden.
Antwort1
Das klingt nach einem Job für ein Bash-/Shell-Skript.
Ich würde eine einfache if-Anweisung erstellen und mit grep die Datei nach 1 oder 0 durchsuchen und diese dann mit dem vorhandenen Befehl ersetzen. Sagen Sie:
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
Und fügen Sie das in ein run.sh oder so etwas ein.