☰ Оглавление

Нотификация

Получать нотификацию от Pidgin можно по DBus. Например так:

#!/usr/bin/env python
# coding: utf-8

import dbus, gobject, socket
from dbus.mainloop.glib import DBusGMainLoop

def my_func(account, sender, message, conversation, flags):
    print repr(sender), "said:", repr(message)
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(15)
    sock.connect(('localhost', 7779))
    sock.send('geometry=-10-0,bg=9ff,fg=000,size=12,bold,padx=3,pady=0,duration=40,service=xmpp|%s: %s' % (sender.encode('utf-8'), message.encode('utf-8')))

dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()

bus.add_signal_receiver(my_func,
                        dbus_interface="im.pidgin.purple.PurpleInterface",
                        signal_name="ReceivedImMsg")

loop = gobject.MainLoop()
loop.run()

Здесь я отправляю сообщение в самодельную программу нотификации, вы можете использовать её или любое своё решение.

Русская орфография в версиях старше 2.7

В новых версиях сломали проверку орфографии. Теперь просто поставить aspell и словари — не достаточно. Выход я нашёл с помощью strace и Google.

Окончательный рецепт столь же прост, сколь и не очевиден:

После этого проверка русской орфографии заработает.