/var/log/life.log
Блог программиста из солнечной Бурятии

Обработка xmpp uri, связка firefox и psi

Для того, чтобы firefox открывал xmpp ссылки в psi, необходимо зайти в about:config и создать там строковую переменную network.protocol-handler.app.xmpp, со значением: psi --uri=%s. А также запустить gconf-editor и в разделе /desktop/gnome/url-handlers/xmpp установить значение command также psi --uri=%s.

Плагин для Juick для Psi+

На данный момент, плагин делает подсветку ника, номера сообщения и тегов в сообщениях пришедших с juick@juick.com и начинающихся с @username: .

скачать можно тут http://code.google.com/p/psi-dev/downloads/list?q=juickplugin
Необходимо скопировать в Psi+\plugins(.psi/plugins)
Исходный код:http://psi-dev.googlecode.com/svn/trunk/plugins/generic/juickplugin/
Скомпилированый плагин необходимо скопировать в ~/.psi/plugins
Для компиляции нужны исходнки psi+ - (исходники psi с наложенными патчами psi+), исходный код плагина должен быть в папке src/plugins/generic/juickplugins
Включить в Настройки->Модули, и перезапустить psi+.
Теперь на вкладке Настройки->Модули можно изменить цвет и стиль оформления:

Плагин корректно работает с psi+ версии 639 и выше.
Также опция options.html.chat.render должна быть установлена в true, найти её можно на вкладке дополнительно.

Переход с icq на jabber

Что-то, от делать нечего решил перейти с icq на jabber. Попробывать я ещё наверное год назад пытался, но чёт psi мне тогда показался не очень удобным, да к тому же с icq транспортом не смог разобраться. Позавчера качнул и поставил на работе, зарегаться я решил на jabber.ru, но так как я регался там и в первый раз и пароль забыл пришлось немного другой ник зарегать. Подключил icq транспорт от nextmail.ru, желаю ему долгой жизни, пока все мои контакты не перейдут на jabber). А то многие сервера перестали предоставлять icq транспорт, тот же jabber.ru. Так вот тут меня ждал маленький подвох, все icq контакты получились как бы не авторизованные и как без авторизации переместить их группы я не сообразил, так что пришлось разослать сообщение об авторизации всему контакт листу, а некоторым не надо было(меня у них в контакт листе даже нету) Пришлось вручную всех авторизовать(хотя потом нашёл в настройках пункт, чтоб автоматически). jabber предоставляет транспорт для Mail IM, хотя и мэил агентом и не пользуюсь, но этот сервис сообщает о новых письмах, точнее мэил агент) подключится к яндексу через j2j чёт не получилось, поэтому пришлось создавать дополнительный акк, чтоб опять же получать оповещения о новых письмах. С gmail все прошло без проблем через j2j( ну что поделаешь, много у меня почтовых акков).
В psi есть возможность проверки орфографии, через Aspell, который я юзал для проверки орфографии в Opera, так что я перекинул из папок dict и data папки Aspell в соответствующие папки в psi. И в винде нужно добавить системную переменную LANG со значением ru, правда проверка англ. слов тогда отключается. В других ОС пока не пробовал. Придя домой и поставив psi он подцепил старый профиль на jabber.bol.ru, пароль от которого я так же не помнил) на помощь пришёл скриптик на python:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
def hexChar2int(c):
if (c >= 'A' and c <= 'F'):
return ord(c) - ord('A') + 10
elif(c >= 'a' and c <= 'f'):
return ord(c) - ord('a') + 10
elif(c >= '0' and c <= '9'):
return ord(c) - ord('0')
return 0

def decodePassword(password,key):
result=""
n1=0
n2=0

if(len(key) == 0):
return password

n2=0
for n1 in range( 0, len(password), 4):
x = 0
if(n1 + 4 > len(password)):
break
x += hexChar2int(password[n1])*4096
x += hexChar2int(password[n1+1])*256
x += hexChar2int(password[n1+2])*16
x += hexChar2int(password[n1+3])
c=x ^ ord(key[n2])
n2+=1
result += chr(c)
if(n2 >= len(key)):
n2 = 0
return result

print decodePassword("001011010","vampirus@jabber.bol.ru")

и что неудивительно, этот пароль подошёл к vampirus@jabber.ru, вот теперь думаю, при переходе на него опять же потребует авторизацию для icq контактов.
Так что мой jabber контакт vampirus@jabber.ru, переходите на jabber и добавляйтесь)

upd: таки получилось через j2j транспотр подконектится к яндексу, надо в сервере и в домене ya.ru писать. а это для гугла
Username: ваш логин на Google
Password: пароль от аккаунта Google
Server: gmail.com или любой другой на Google Apps
Domain or IP: talk.google.com
Port: 5222

ещё одна проблема - нет звука в psi в ubuntu, по умолчанию для воспроизведения звука используется play которого по умолчанию нету в ubuntu для этого надо поставить sox.

1
sudo apt-get install sox

но у меня всёравно не заработало, с помощью чего проигрывать можно настроить в разделе sound(ну или звук (: ) в принципе можно любым плеером, кто-то mplayer использует, я пока aplay поставил, вроде пока норм.

upd2: для того, чтобы добавить новое слово в словарь aspell, например "блог" нужно(в Windows XP):
1) поместить файл cp1251.dat в Psi\aspell\data, если его нету то можно скачать например здесь http://www.duke.edu/~cramer/root/usr/share/aspell/cp1251.dat
2)создать файл с новыми словами вида

1
2
3
*слово1
*слово2
#

и кодировке cp1251
3)запустить cmd перейти в папку с aspell и выполнить

1
aspell -d ru --data-dir="C:\Program Files\Psi\aspell\data" --dict-dir="C:\Program Files\Psi\aspell\dict" --encoding="cp1251" -a < Путь_до_файла_со_словами

в общем случае файл должен быть в той же кодировке, которая прописана в encoding.