Linux для всех

индекс
247,20

Делаем Pidgin красивым как Adium

Хочу поделиться своими наработками. Кто видел Adium на Mac OS X, тот знает, что он даже с дефолтными темами красивее Pidgin'a под всеми тремя поддерживаемыми им системами. Кроме того, для Adium'a расширений, icon и прочих паков огромное количество — смотреть здесь, а для Pidgin — кот наплакал, и даже то что есть централизованно нигде не выложено.

Далее я расскажу как прикрутить темы звуков, иконок статуса и смайликов, а также докбар темы от Adium'а к Pidgin'у, используя:

Мой конвентер тем Adium в темы Pidgin
Мой апплет для Cairo-dock:
image
UPD: Не поленитесь, проголосуйте тут за тикет, чтобы разработчики Pidgin темы трея, статус листа и протоколов прикрутили



Прикручиваем темы


Тут все просто. Качаем мой скрипт на Python, ставим дополнительное ПО:
  • xmllint — скорее всего поставлен в вашем дистрибутиве
  • ffmpeg — если нужно конвертировать звуковые темы

Качаем темы статус-иконок, звуков, или смайликов с adiumxtras.com.
Теперь запускаем из терминала:
./adium2pidgin-theme-convert.py имя_zip_файлика_с_темкой
и скрипт распакует тему, определит ее тип, проведет конвертацию и установит куда надо (например, темы статус иконок в ~/.purple/themes/имя_темы/purple/status-icon/). Если тему не надо устанавливать, а надо только конвертировать, запустите скрипт с параметром --output=выходная_папка. Если тип не определился (такое бывает) используйте --type=, а вообще, смотрите --help

Результат работы программы (звуки отскринить не могу):
image

Прикручиваем док


Ставим cairo-dock. Скачиваем мой апплет к нему. Распаковываем аплет в ~/.config/cairo-dock/third-party/pidgindock, перезапускаем док. В настройках дока теперь появился пункт pidgindock с зеленым значком адиума, через этот пункт апплет и включается, там же можно выбрать тему апплета.
Апплет понимает полностью темы дока Adiuma, с анимацией и без переконвертации. Просто скопируйте из архива папку темы (вида имятемы.adiumicon) в ~/.config/cairo-dock/third-party/pidgindock/Themes и введите имя ее папки в настройках. Также можно моим скриптом вышеописанным поставить из zip.
Скрины можно посмотреть тут, а вообще получается картинка вот такого плана:
image
image

Планы на будущее


Планируется поддержка установки тем «на лету», как в Макоси. Предварительная настройка Firefox описанна тут.
Если разработчики pidgin допилят поддержку тем иконок трея, buddy-list'а или еще чего-нибудь, обязуюсь незамедлительно добавить их в скрипт.
Баки и глюки горячо принимаются
+21
2 ноября 2009, 20:44
40

комментарии (43)

+5
1999 #
хм… да вроде пиджин и сам по себе не такой уж и страшный
пользуюсь еще с начала 2008 года под линуксом и виндой, не жалуюсь
0
darvin #
Ну страшный, не страшный, но возможность использовать множество тем — это, по-моему, плюс
0
yellow_duck #
Ну вот меня в предидущем топике заминсовали, говоря, что-то типа GTK? под виндовс? красивее?
пруфлинк.
0
NaTTs #
Пользовался тоже и на линуксах и на windows — очень даже :) по юзабилити, наверно, получше Adium.
Под Mac я как-то предпочел iChat, там интеграция с осью и как раз UI гораздо приятнее.
0
offic #
да но icq он же не поддерживает
–1
torai #
у Адиума интересный глюк — не смог ему скормить кирилический пароль от аськи:-)
+1
darvin #
Коммитте исправление. Все равно под макосью Адиум — несомненный лидер в отрасли )
НЛО прилетело и опубликовало эту надпись здесь
+1
darvin #
ichat вестимо. но он анально-оккупирован, я им на своем хакинтоше не пользуюсь
0
l0rda #
c Chax его более-менее можно использовать :)
iChat гораздо стабильнее адиума и жрет меньше памяти, а в адиуме больше рюшечек

использую и то и другое
0
yellow_duck #
Не надо тут разводить. Интерфейс iChat намного правильнее adiuma. И если пользоваться только правильным протоколом — то он несомненно приятен. Когда переходил с винды тоже казалось, что адиум лучше, да много чего, на что сейчас смотрю и плачу — тогда казалось удобнее и красивее.
0
NaTTs #
С iChat долгая история.
Чтобы работало icq (если _настолько_ необходимо) нужно сделать:
— Установить Chax 2.0.+
— Установить IcqEncoderBundle (google it)
— Надеяться на чудо (в сочетании два упомянутых плагина иногда берут и вырезают целиком сообщение не напоминая вам об этом. Например — если в нем какое-то содержание html тэгов. К сожалению, этот баг очень сложно отловить.)
— Уметь и любить пользоваться адресной книгой.

Последнее, если вы пользователь Mac, вообще святое. Удобнее всего эту адресную книгу синхронизировать с mobileMe или google. Последнее возможно с помощью Spanning Sync.

Извините, не могу предоставить ссылки.
0
Phenomen #
–1
lasthero #
Расово-верная icq for mac.
0
0leGG #
MDC есть, qutIM. Сто лет уже обещают Digsby сделать, но не осиливают =)
0
gigigi #
А под win как я понимаю не сработает? :)
0
darvin #
почему же? заработает!
Нужен только python со стандартными библиотеками + если собираетесь конвентирить звуки — то ffmpeg или еще какой конвентер консольный виндовый.
Если предложите консольный виндовый конвентер звуковых файлов и напишите его опции нужные, сделаю полностью кроссплатформенную версию, а вы будете ее первым почетным тестером )
0
gigigi #
замечательно, тогда попробую :)
консольный конвертер к сожалению не знаю, т.к. никогда не занимался таким
0
darvin #
вот этим мне винда и не нравится — вечно нет простых программ, которые можно использовать из других программ)
ffmpeg должно быть есть, он вроде кроссплатформенный
0
gigigi #
да, ffmpeg конечно есть
0
darvin #
cairo-dock под windows не заработает и соответсвенно плагин для докиконок тоже.
–4
EzS #
Интересно, на досуге попробую преобразить Pidgin
0
mrded #
а еще можно поставить Global Menu (http://code.google.com/p/gnome2-globalmenu/)
вся gtk менюшка переместится на верхнюю панельку, как в маке:)
0
darvin #
да, у меня оно стоит. тоже сыровато еще, требует допила.
–2
xdemon #
Омерзительно — косить под другую ось, когда и у линукса есть свои фишечки. По крайней мере в qt/kde. Хочется mac os x? Купите Мак. Хотя, видимо, gtk приложения настолько ущербны внешним видом, что приходиться извращаться, чтобы они нормально выглядели.
–1
xdemon #
P.S. archlinux user.
+1
mpetrunin #
А что плохого в конвертации тем? Хочешь тему для адиума — покупай мак?
И в том, что есть возможность установить гипернастраиваемый cairo-dock и поместить на него плагин для pidgin'а?

И вообще говоря, adium активно использует libpurple от pidgin'а. Может быть ему не нужно было извращаться, а купить PC и установить туда linux?

Надо не забывать, что linux — это выбор. Хочешь косишь, хочешь — используешь «свои фишечки».

P.S. archlinux user.
0
mpetrunin #
ему = автору адиума
0
darvin #
Тупо. Хочется тему из-под адиума — купите Мак? Какое-то красноглазие и макодрочерство
0
xdemon #
Темы из под адиума отлично заводятся на qutim, кстати. Там нормальный webkit. А тут не только тема под пиджин, а еще и док из макоси, и в комментах ссылка на macos-like меню.
0
darvin #
для pidgin тоже плагин поддержки вебкит тем в сообщениях есть, если что
док из мак оси — мне так удобней. а вам как — с панелью задач из Виндовс 95?
сомневаюсь, что вы пользуетесь тайлинговым вм
0
mpetrunin #
У меня лично не удалось установить плагин. Распаковал версию 1.1 в ~/.config/cairo-dock/third-party/pidgindock
Итого:
ls ~/.config/cairo-dock/third-party/pidgindock
итого 80
-rw-r--r-- 1 petrushka petrushka 1027 Окт 31 00:51 threadtimer.py
-rw-r--r-- 1 petrushka petrushka 14015 Авг 20 17:47 preview
-rw-r--r-- 1 petrushka petrushka 2709 Ноя 1 00:00 pidgindock.conf
-rwxr-xr-x 1 petrushka petrushka 10459 Ноя 1 08:34 pidgindock
-rw-r--r-- 1 petrushka petrushka 6504 Ноя 3 00:42 pidgindbus.pyc
-rw-r--r-- 1 petrushka petrushka 4960 Ноя 1 08:39 pidgindbus.py
-rw-r--r-- 1 petrushka petrushka 14015 Окт 31 06:53 icon
drwxr-xr-x 19 petrushka petrushka 4096 Ноя 1 18:06 Themes

Но в плагинах после перезапуска cairo пусто: pic.ipicture.ru/uploads/091103/wZpppGxdEU.png
cairo-dock -v
2.1.1-2


Пытался сделать также PKGBUILD для AUR Arch Linux'а. Но так и не понял в какую итоговую папку помещать плагин.

P.S. Кстати, какие у плагина него зависимости?
0
darvin #
1. Включите Dbus плагин в кайродоке, у вас вырублен.
2. точно перезапустили кайродок?
3. попробуйте вручную плагин запустить — ./pidgindock из ~/.config/cairo-dock/third-party/pidgindock
4. Пакет это хорошо. только какой смысл пакетировать то что в каталог пользователя пишется, плюс в ближайшее время оно появится в cairo-dock-plug-ins-extras официальном )
В Арче есть возможность как в Gentoo live — пакеты делать? ) чтобы прям из bzr качал?
0
mpetrunin #
1. Включал\выключал неоднократно.
2. Опять же неоднократно, даже перезагрузка (как и следовало ожидать) не меняет картины.
3.
pidgin выключен
[petrushka@parch pidgindock]$ ./pidgindock 
>>> registering our applet...
>>> applet registered.
Traceback (most recent call last):
  File "./pidgindock", line 336, in <module>
    MessageReaded, Connecting, StatusChanged)
  File "/home/petrushka/.config/cairo-dock/third-party/pidgindock/pidgindbus.py", line 48, in __init__
    obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 244, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 241, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 183, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib/python2.6/site-packages/dbus/bus.py", line 281, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 622, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name im.pidgin.purple.PurpleService was not provided by any .service files



pidgin включён:
[petrushka@parch pidgindock]$ ./pidgindock 
>>> registering our applet...
>>> applet registered.
>>> INIT
>>>  loadconfig
/home/petrushka/.config/cairo-dock/third-party/pidgindock/../../current_theme/plug-ins/pidgindock/pidgindock.conf
{'State': {'InvisibleAlert': {'Images': ['InvisibleFlap.png', 'Invisible.png'], 'Delay': 0.5, 'Animated': True, 'Overlay': False}, 'ApplicationIcon': {'Image': 'ApplicationIcon.png', 'Animated': False, 'Overlay': False}, 'Away': {'Image': '../Shared Images/Away.png', 'Animated': False, 'Overlay': True}, 'Alert': {'Delay': 0.5, 'Images': ['Flap.png', 'Awake.png'], 'Animated': True, 'Overlay': False}, 'Idle': {'Image': '../Shared Images/Idle.png', 'Animated': False, 'Overlay': True}, 'Base': {'Image': 'Asleep.png', 'Animated': False, 'Overlay': False}, 'Connecting': {'Delay': 0.20000000000000001, 'Images': ['../Shared Images/Connect1.png', '../Shared Images/Connect2.png', '../Shared Images/Connect3.png', '../Shared Images/Connect4.png'], 'Animated': True, 'Overlay': True}, 'Online': {'Image': 'Awake.png', 'Animated': False, 'Overlay': False}, 'Invisible': {'Image': 'Invisible.png', 'Animated': False, 'Overlay': False}, 'Preview': {'Image': 'Awake.png', 'Animated': False, 'Overlay': False}}, 'Description': {'Title': 'Adiumy Green', 'LinkURL': 'http://www.artofadambetts.com/', 'Creator': 'Created by Adam Betts'}}
{'AnimationRate': 1, 'ShowNumberUnread': True, 'ShowMessageLabel': True, 'ShowDock': True, 'Theme': 'Green', 'Animation': True, 'AnimationType': 'default'}
Traceback (most recent call last):
  File "./pidgindock", line 338, in <module>
    appleticon = AppletIcon(pidgin_object=pidgin, icon_object=myIcon, dock_object=dock_object)
  File "./pidgindock", line 142, in __init__
    self.RefreshIcon()
  File "./pidgindock", line 271, in RefreshIcon
    self.__myIcon.SetQuickInfo(format(number_unread, "d"))
  File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 68, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 140, in __call__
    **keywords)
  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 622, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "SetQuickInfo" with signature "s" on interface "org.cairodock.CairoDock.applet" doesn't exist


4. Ну я думал спакетировать таким образом, чтобы попало в какую-нибудь папку типа /usr/share/cairo-dock/plug-ins и автоматически цеплялось всеми пользователями, как это происходит с основным набором плагинов. А cairo-dock-plug-ins-extras ещё неизвестно когда выйдет :)

А насчёт live-пакетов. В AUR'е половина PKGBUILD'ов тянет что-нибудь из git\bzr\svn, так что с этим всё в порядке. :)
0
darvin #
думаю, у вас dbus плагин в кайро выключен
0
mpetrunin #
0
antonhb #
Давно я смотрел на офсайте пиджина новость о поддержке тем, и все ждал, когда же они что-нибудь выложат. А вы их опередили, хорошая работа, спасибо)
0
darvin #
тогда проголосуйте за этот тикет developer.pidgin.im/ticket/10644, сделаю поддержку еще и других тем )
0
mprokopov #
Однажды долгим зимним вечером, натянув все скины на gnome и на pidgin и искуссно сымитировав док я понял, что мне нужен мак :)
0
iniweb #
Делаем до конца красивым (Без оформления самих сообщений для меня всё равно не то...) www.webupd8.org/2009/11/adium-themes-in-pidgin-ubuntu-karmic.html
0
1vanu4 #
Не надо с голубя селезня делать ;)
0
ufolog #
Кстати, сейчас в пиджине помимо тем для смайлов, звуков и статус-айконс, появилась поддержка тем баддилиста. Было бы круто добавить их поддержку в этот конвертер ;)
0
Grawl #
Что всегда бесило в Pidgin — это текстовое меню в списке контактов, сверху. Из-за него окно контактов широченное.

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