Skype под Linux… Теперь со вкладками

    Устарело, см. свежую версию тут.




    Собственно говоря, началось всё после прочтения вот этого скандального поста. Несмотря на то, что представители скайпа заявили, что сказанное там не соответствует действительности, стало чётко понятно, что в ближайшее время вменяемого клиента для Linux мы не дождёмся. Было принято решение допилить до более юзабельного состояния своими силами. Чего больше всего не хватает? Правильно, вкладок. Есть, конечно, плагин к пиджину, но он совершенно неюзабелен (по крайней мере с моими 4-5 активными конфами по 5-20 человек в каждой), да и невозможность ввода через него скайповских команд удручает.

    Первым делом, по аналогии с виндой, где подобные вещи делаются относительно легко, попробовал заменить родительское окно для скайпа. И всё было замечательно, за исключением того, что перестал работать ввод с клавиатуры. Совсем. Как выяснилось, в X11 для встраивания виджетов сторонних программ существует специальное расширение XEmbed, которое скайп, естественно, не поддерживает. А без него ничего нормально не работает.

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

    Здесь вы можете найти исходники для компиляции и deb-пакет. При сборке из исходников следует учесть, что для работы понадобится утилита wmctrl. В дальшейшем планирую от неё избавиться, но пока что только так.

    Ну и ложка дёгтя — KWin и metacity не дают програмно двигать окно за пределы экрана со всеми вытекающими. Зато прекрасно работает с Compiz, Openbox и Xfwm.

    UPD: Спасибо за тестирование, был обнаружен досадный баг с переключением рабочих столов. Пофиксил, скачайте свежую версию
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 78

      +3
      Ты велик ужасен. Может быть легче свой собственный скапик запилить?
        +4
        Кекс, ты воистину суров!
          +1
          > Ну и ложка дёгтя — KWin
          В KWin'е можно объединять несколько окон в одно со вкладками в заголовке (как в хроме), так что все ок.
            +1
            А в таскбаре они тоже в одно объединяются?
              +1
              Не знаю, у меня нет таскбара :(
                0
                Когда сидел на кедах, пробовал так издеваться над скайпоокнами, но панель задач они всё-равно захламляли. Не знаю, может, за полгода что-то измениось.
                  0
                  Плазмоид Smoothtask вас спасёт.
                    0
                    Да мне как-то связка из Cairo-Dock+AWN удобнее всей этой плазмы вместе взятой, если честно. А ещё оно не тормозит и не жрёт оперативу в таких количествах. Но это дело вкуса, на самом деле.
            –13
            Метод попроще code.google.com/p/skype4pidgin/
              +21
              Пост не читай@Сразу отвечай
              Есть, конечно, плагин к пиджину, но он совершенно неюзабелен (по крайней мере с моими 4-5 активными конфами по 5-20 человек в каждой), да и невозможность ввода через него скайповских команд удручает.
                +2
                Каюсь, моя ошибка
              0
              kekekeks а 0.0.10 — рабочая версия? После запуска, на мгновение, появляется окно skype (кажется skype, ибо успеть рассмотреть невозможно), потом пропадает, и все.

              openbox (в kde тоже самое), archlinux, skypetab собирал из исходников.
                0
                Утилитка wmctrl в системе присутствует? Скайп при этом был запущен?
                  0
                  Просто в штатном режиме окна и не должно быть видно — оно появляется при наличии открытых скайпочатов.
                    0
                    wmctrl присутствует, skype запущен, при запуске skypetab чаты остаются без изменений.
                      0
                      Из консоли запустить попробуйте, что выдаст?
                        0
                        А ничего не пишет, запускается и молчит :)
                          0
                          Вывод wmctrl -lx покажите, пожалуйста.
                            0
                            0x00c00024  0 konsole.Konsole       myhost dmitry : mono
                            0x0100000d  0 skype.Skype           myhost xxx - Skype™ (Beta)
                            0x01001d46  0 skype.Skype           myhost Elena - Skype™ чат
                            0x01002ff8  0 skype.Skype           myhost Technical MISSY - Skype™ чат
                            0x01400029  0 SkypeTab.SkypeTab     myhost OH YOU
                            0x00c00d9d  0 konsole.Konsole       myhost dmitry : bash
                            0x02000007  0 opera.Opera           myhost Skype под Linux… Теперь со вкладками
                            
                              +1
                              Так, запустил на виртуалке федору, и понял, что у вас там другой скайп. Эта зараза не выставила свойство WM_WINDOW_ROLE=«Chats», в результате чего программа не может определить, что ей это окно надо обрабатывать. В следующем релизе буду распознавать по заголовку окна, раз такое дело.
                                0
                                У меня в арче тоже не работает… Но скайп никак не может быть другой. Он везде забирается из download.skype.com/linux/skype-pkgver.tar.bz2

                                где pkgver=2.1.0.81(вроде как уже черти сколько времени эта версия есть, врядли где то младше)
                                  0
                                  ХЗ, может, кутэ другое. Факт остаётся фактом, WM_WINDOW_ROLE на окнах не выставляется, можете через xprop проверить. Качните с форжа 0.0.12, по идее, должно по заголовкам отличать, причём не только при английской локали скайпа в 0.0.11.
                                    0
                                    0.0.12 в арче заработала, завтра проверю еще на работе.

                                    P.S. Куда багрепорты кидать то? :)
                                    0
                                    Не выставляется, да, к сожалению. Давно с этим столкнулся, когда опенбокс настраивал, еще с год назад.
                                    Не представляю даже в чем может быть дело, за это время qt уже уйму раз менялось, да и я вообще раньше skype-static использовал, в нем qt уже идет в пакете — там тоже ROLE не было. Честно говоря думал что это просто недоработка скайпа.
                                      0
                                      В убунте оно есть, ну да ладно, там можно по классу и заголовку достаточно надёжно определить присутствие наличия нужного окна.
                                0
                                rghost.ru/3618192 — попробуйте вот это скомпилять, вроде бы, починил.
                                  0
                                  К сожалению, эта версия тоже не работает.
                                    +1
                                    Скиньте в личку скайп, на досуге попробуем разобраться.
                    0
                    Поставил, но уже снес. Штука, конечно, полезная, но вот только попробуйте открыть скайп на соседнем рабочем столе, и вы уже не сможете вернуться на первый.
                    Убунта 10.10, гном.
                      0
                      Забавно. Буду разбираться, чем это лечить.
                        +1
                        В ManagedWindow.cs закомментируйте на 59-ой строке «Wrapper.TypeHint = Gdk.WindowTypeHint.Combo», должно помочь, по идее.
                          0
                          Я из пакета ставил, компилить-то лень )
                            0
                            rghost.ru/3617424 — всё равно чудит при переключении при активном скайпе, но если в фокусе другое окно, то реагирует нормально.
                          0
                          Всё, починил. Забирайте с сорсфоржа 0.0.10
                          +4
                          Ждем допила + нормального релиза, ставим себе, а Кексу — памятник.
                            0
                            Я когда-то такое под винду делал, Skype Tabber называлось. С выходом четвёрки под винду с табами смысл отпал конечно и проект умер.
                              0
                              Под виндой это поди через SetParent решалось, да?
                                0
                                Угу (: Ну там ещё были танцы с бубнами на тему симлесс интеграции окна, чтоб оно без заголовка было и т.д., но это мелочи, за час всё решилось (:
                                  0
                                  Get/SetWindowLong и танцы со стилями поди?
                              +1
                              А кто-то боялся прекращения поддержки…
                                0
                                Приятно, что прекращение поддержки Skype под Linux побудило допиливать его ручками :)
                                  0
                                  в KDE с 4.5 есть возможность группировать окна в табы заголовков. вкупе с гибкой политикой «специальных параметров окна» можно включить это только для разговоров и конференция скайпа.
                                  0
                                  Блин, скайп ведь выпустил SkypeKit. Почему, инетерсно, нету нормальных клиентов?
                                    +1
                                    Потому что этот кит до сих пор вживую никто не видел.
                                      0
                                      выпустил, выпустил. да только кто его в руках держал?
                                        0
                                        Где он? В рассылке к SkypeKit ничего до сих пор нет.
                                        0
                                        Тохофаг детектед
                                          0
                                          Вы так говорите, как будто это что-то плохое :3
                                          И вообще, трек History of the Moon на будильнике оказался даже лучше чем The Beautiful Emperor из оста CG.
                                          +2
                                          Самое плохое в плагине для пиджина это не то, что он не поддерживает комманды скайпа а то, что он делает скайп вылетать раз в сутки-двое, и иногда весит сам пиджин.
                                            0
                                            а еще есть плагин к kopete. его пробовали?
                                              0
                                              Там тоже функционал подурезан по сравнению со скайпом. Опять же, с копыта я сбежал месяца 3 назад, уже не помню почему, но пиджин оказался удобнее.
                                              0
                                              Автор, конечно, молодец. Но я надеюсь, что такие посты все-таки разжалобят менеджмент Skype, и разработка под linux пойдет быстрее.
                                                0
                                                Более простой, но несколько менее эффективный способ для пользователей KDE с стандартной темой — группировка окон.
                                                ПКМ на заголовке -> move window to group.
                                                Вдруг кому сгодится.
                                                  0
                                                  прошу прощения — не заметил пост выше.
                                                  С нотификациями всё хорошо.
                                                  Плохо только с группировкой окон в панели Task Manager.

                                                  0
                                                  скачал 12ую версию (исходники), собрал, запускаю — мелькают какие то окна и все пропадает. процесс работает.
                                                  параллельно запускаемый скайп игнорируется.
                                                    0
                                                    опа перезапустил скайп и заработало) окно правда неприятно мерцает при переключении но все же…
                                                      0
                                                      На чём собирали, если не секрет?
                                                        0
                                                        archlinux (2.6.35 kernel)
                                                    0
                                                    молодец кекс, поставил, радуюсь.
                                                      –1
                                                      А по мне так это совсем не нужно.
                                                      Если у меня возникает такая необходимость я подключаю Skype через Pidgin.
                                                      А вы пробовали?

                                                      Кстати известно ли планируется ли такая версия Skype как сейчас на Windows?
                                                        0
                                                        А вы пробовали?

                                                        А вы пост читали? Оно очень хреново дружит со скайпочятиками. То есть, совсем хреново — закладка добавляется неочевидным и небыстрым способом, irc-like команды не работают, поддержки скайповских смайлов нет… Ну ещё и рушит пиджин этот плугин периодически. Неюзабельно, в общем.
                                                          0
                                                          А как на счёт других вариантов решения?
                                                          Мне сдаётся, что приведённый вариант не самый лучший.
                                                          И проще уж оставить скайп как он есть…
                                                          Я бы очень хотел на линуксе ту виндовую версию…
                                                            0
                                                            Ну, кому не самый лучший, а кому так удобнее — нативный и привычный интерфейс скайпа во вкладках. Перед написанием поста я раздал знакомым — все были очень довольны.
                                                        0
                                                        А что за тулбар на Ubuntu слева? Красиво смотрится.
                                                          0
                                                          Какой из них, верхний или нижний?
                                                          0
                                                          ага, скайп под линукс не идеален. У одного меня не выходит удалиться из группы? ubuntu 10.10 skype 2.1 (beta) :)
                                                            0
                                                            ubuntu 10.10, xfce 4.6.2
                                                            при открытии чата появляются два идентичных окна, плюс в «таскбаре» устраивает пляски прорывающееся третье. А идею горячо поддерживаю — на днях перевёл офис с ОО на Lotus Symphony и все довольны, что теперь нет сонма окошек (всё аккуратно по табам).
                                                              0
                                                              У вас там часом не два экземпляра програмулины в памяти висит?
                                                                0
                                                                был один, потом ни одного, однако пляски продолжались, пока я не догадался, что grep skype показывает не всё :)
                                                                Окромя skype и skypetab обнаружился SkypeTab… Окно теперь одно, но! Пока фокус не в поле ввода, «появляется-и-исчезает» какое-то неуловимое окно.
                                                                И всё равно — пустяки по сравнению с бесящими окошками а-ля «Встречайте: ICQ из XX-го века!»
                                                                Моё почтение герою, не оставившему это безобразие просто так.
                                                              +1
                                                              Как же теперь удалить это чудо? удалил пакет, сделал purge, все равно после рестарта skype -табы появляются?
                                                                0
                                                                killall mono
                                                                0
                                                                как же давно я этого ждал. Искреннее спасибо Человеку!
                                                                  0
                                                                  Установил, запустил SkypeTab. Но при использовании наблюдается баг:

                                                                Only users with full accounts can post comments. Log in, please.