Делаем 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'а или еще чего-нибудь, обязуюсь незамедлительно добавить их в скрипт.
    Баки и глюки горячо принимаются
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 44

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

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

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

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

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

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

                                    P.S. archlinux user.
                                      0
                                      ему = автору адиума
                                      0
                                      Тупо. Хочется тему из-под адиума — купите Мак? Какое-то красноглазие и макодрочерство
                                        0
                                        Темы из под адиума отлично заводятся на qutim, кстати. Там нормальный webkit. А тут не только тема под пиджин, а еще и док из макоси, и в комментах ссылка на macos-like меню.
                                          0
                                          для pidgin тоже плагин поддержки вебкит тем в сообщениях есть, если что
                                          док из мак оси — мне так удобней. а вам как — с панелью задач из Виндовс 95?
                                          сомневаюсь, что вы пользуетесь тайлинговым вм
                                      0
                                      У меня лично не удалось установить плагин. Распаковал версию 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
                                        1. Включите Dbus плагин в кайродоке, у вас вырублен.
                                        2. точно перезапустили кайродок?
                                        3. попробуйте вручную плагин запустить — ./pidgindock из ~/.config/cairo-dock/third-party/pidgindock
                                        4. Пакет это хорошо. только какой смысл пакетировать то что в каталог пользователя пишется, плюс в ближайшее время оно появится в cairo-dock-plug-ins-extras официальном )
                                        В Арче есть возможность как в Gentoo live — пакеты делать? ) чтобы прям из bzr качал?
                                          0
                                          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
                                      Давно я смотрел на офсайте пиджина новость о поддержке тем, и все ждал, когда же они что-нибудь выложат. А вы их опередили, хорошая работа, спасибо)
                                      0
                                      Однажды долгим зимним вечером, натянув все скины на gnome и на pidgin и искуссно сымитировав док я понял, что мне нужен мак :)
                                        0
                                        Делаем до конца красивым (Без оформления самих сообщений для меня всё равно не то...) www.webupd8.org/2009/11/adium-themes-in-pidgin-ubuntu-karmic.html
                                          0
                                          Не надо с голубя селезня делать ;)
                                            0
                                            Кстати, сейчас в пиджине помимо тем для смайлов, звуков и статус-айконс, появилась поддержка тем баддилиста. Было бы круто добавить их поддержку в этот конвертер ;)
                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                0
                                                А для свежих версий Ubuntu и Pidgin это уже не работает, как я понимаю? Есть какие-то альтернативы?

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

                                                Самое читаемое