Как я могу автоматически установить статус «Занят» при запуске Empathy?


Ответы:


10

После некоторых поисков я нашел приложение, которое связывается с Empathy через dbus. Я взял из этого код и создал скрипт, который установит ваш статус.


Настроить это довольно легко:

Загрузите скрипт здесь ( страница github ).

Требуются некоторые библиотеки Python, которые находятся в репозиториях (и могут быть установлены по умолчанию):

sudo apt-get install python-dbus python-notify

Затем, чтобы запустить его при входе в систему, запустите Startup Applications, нажмите Add и заполните поля следующим образом:

  • Имя: Custom - Начните Empathy Busy
  • Команда: / usr / bin / python /path/to/empathy_set_status.py dnd
  • Комментарий: Запустите эмпатию и установите статус «занят» (не беспокоить).

В поле команды указывается, какой статус устанавливать. Если вы не хотите, чтобы занято (dnd), то вы можете использовать одно из следующих значений: доступно, dnd, удалено, xa, скрыто, офлайн.

Теперь при входе в скрипт он должен запускать эмпатию, немного подождать, а затем установить свой статус. Вы должны увидеть уведомление, когда он попытается установить ваш статус.

Я не проверяю, что статус установлен правильно, поэтому у меня просто есть время ожидания, чтобы надеяться, что эмпатия будет готова позволить нам изменить статус. Отрегулируйте свое время, если оно не работает. Увеличивайте значение, EMPATHY_STARTUP_SECONDSпока оно не заработает при входе в систему. Если вам нужно ввести пароль, чтобы разблокировать цепочку для ключей для входа в систему обмена мгновенными сообщениями, задержка должна быть достаточной для запуска Empathy, для ввода вашего пароля и для Empathy для входа в ваши учетные записи.


Кажется, это больше не работает (Ubuntu 13.04). Он устанавливает указанный статус, но затем вы не можете открыть окно Empathy (список контактов), когда щелкаете по нему в меню сообщений.
Сади

2

Существует ошибка, связанная с невозможностью использовать что-либо кроме «доступного» в качестве статуса по умолчанию в Empathy. Однако, если вы желаете рассмотреть другую программу, Pidgin позволяет вам установить другой начальный статус.


1

Сочувствие не позволяет этого напрямую. Тем не менее, вы можете попробовать следующее.

Таким образом, вы можете записывать события движения мыши, когда вы обычно щелкаете меню Me и выбираете статус «Занят». В качестве альтернативы вы можете перейти к той же записи меню Me с помощью сочетания клавиш F10 и клавиш со стрелками. Затем вы можете воспроизвести эти события при входе в систему через запись «Запуск приложения».

Это можно отключить через приложение под названием «cnee». Однако версия в Maverick & Natty не работает. Если вы компилируете из исходного кода, он все же работает.

Загрузите последний исходный код отсюда .

cd ~/Downloads
tar -xvf xnee-cvs-20110508.tar.gz
cd xnee-cvs-20110508
sudo apt-get install build-essential
./configure --disable-gnome-applet --disable-gui
make
sudo make install

Если configure жалуется на отсутствующую библиотеку / или библиотеки, установите библиотеку, которая, как сообщается, отсутствует:

sudo apt-get install lib<name of library>-dev

Затем запишите события мыши, выполнив следующие действия (после обратного отсчета) и переместив указатель мыши в меню «Me» и выбрав состояние «Занят», а затем клавишу «h» для остановки записи.

cnee --record -o ~/changebusy.xnr --mouse --time 5 --stop-key h

Можно также записать события клавиатуры, выбрав сочетание клавиш F10 + СТРЕЛКА ВЛЕВО + СТРЕЛКА ВЛЕВО + СТРЕЛКА ВНИЗ (дважды) + ВВОД + h

cnee --record -o ~/changebusy.xnr --keyboard --time 5 --stop-key h

Создайте загрузочное приложение с помощью команды

sh -c "sleep 10 && cnee --replay -f ~/changebusy.xnr"

Отличная идея! Хотя я узнал, что Empathy отвечает на команды dbus из этого блога !
idbrii

1

Обратите внимание, что это не будет работать для учетных записей irc (может быть, других?). Поместите блок try / исключением в конец скрипта, чтобы исправить это:

        try:
            simple_presence.SetPresence(status, _STATUSES.get(status))
        except dbus.exceptions.DBusException:
            print(status + ' is not supported by ' + valid_account)

0

Используйте Pidgin. Сервис> Предпочтения> Состояние / Режим ожидания> проверьте «использовать статус с последнего выхода при запуске». Извините, Эмпатия не поддерживает то, что вы пытаетесь сделать.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.