Переключить статус уведомления Skype

Уведомление о том, отображается ли контакт онлайн / офлайн или нет, можно изменить с помощью параметров Skype или через ~/.skype/your_skype_id/config.xml . В этом файле, в зависимости от того, что вы выбрали, можно найти следующие строки:

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

где <Offline>n</Offline> (соответственно <Online>n</Online> ) соответствует опции «Контакты в автономном режиме» (соответственно «Контакт пришел в онлайн» ) и где n очевидно, указывает, включено ли оно или нет.

Таким образом, мой вопрос заключается в следующем: можно ли автоматически включать / отключать уведомления?

Важно отметить, что Offline и Online отображаются только один раз в файле XML .

Пока все, что я могу сделать, это:

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

где 197 – номер строки (это зависит от случая, так что это довольно плохо), и где я не проверяю существующий статус уведомления, я только отключу его.


Короче говоря, то, что я хотел бы сделать, состоит в том, чтобы автоматически изменить 0 на 1 (или 1 на 0 ) на обе строки.

  • Микрофон Snowball больше не делится между приложениями
  • Загрузка файлов в Skype и Firefox останавливается Audacious под Gnome
  • Ошибка Skype в ubuntu 10.10
  • Есть ли стороннее приложение, которое может общаться через сеть Skype?
  • Как записывать Skype звонки (аудио) на Debian 6?
  • Debian 7.0 (64-битный) Skype сбой при ответе на вызов
  • Невозможно ввести нелатинские символы в skype на OpenSUSE 13.1
  • Проблема с Skype Alpha Install ubuntu 16.10
  • One Solution collect form web for “Переключить статус уведомления Skype”

    Это похоже на работу для сценария bash / shell.

    Я бы создал простой оператор if, используя grep для поиска файла для 1 или 0, а затем заменил их с помощью команды, которую вы используете. Сказать:

     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 

    И поставьте это в run.sh или что-то в этом роде.

    Interesting Posts

    CentOS не может монтировать / home, Ошибка получения полномочий: Ошибка инициализации полномочий: Не удалось подключиться: нет такого файла или каталога

    Включить num-lock по умолчанию в Linux

    Пользовательский протокол уровня ссылки в UNIX

    Постоянно отключить режим gnome 3.2

    Почему «smartctl -l xerror» LBA находится за пределами конца диска?

    Как я могу решить: нет такого файла или каталога?

    Что делать, чтобы запустить приложение GUI Java в chrooted среде?

    Вывод в цвете – Bash

    Как установить VertRefresh без перезапуска X?

    Выбор планировщика ввода-вывода на внешних дисках

    Извлечение нескольких экземпляров текста между теми же двумя строками текста

    Пользовательское ssh-соединение Linux отключено после выполнения команды setfacl

    Проблема декодирования вывода регулярного выражения {m, n} в sed

    Команда sed не возвращает то, что я хочу

    tcpdump захватывает сетевой UDP-трафик, но не TCP

    Linux и Unix - лучшая ОС в мире.