kekekeks / skypetab-ng

A program that adds tabs to Skype™ for Linux
skypetab-ng
GNU Lesser General Public License v3.0
76 stars 4 forks source link

Clipboard problems with KDE #38

Closed dant3 closed 12 years ago

dant3 commented 12 years ago

Hey there!

I'm using Kubuntu 11.10 and KDE 4.7.4 and expiriencing problem with clipboard (copy'n'paste) with skypetab-ng. I can copy test witch was in skype to every app and can paste it in the skype, but I cant paste something else copied, in skype, then I'm doing paste in skype chat window it pastes last clip copied in skype window, not what I actually copied in other window. Pasteing in other windows works ok.

I suspects this is issue of event overtaking, but I may mistake. If there is more info you needed just ask. Also I can send you detalised description in Russian with screenshots if you want.

kekekeks commented 12 years ago

Ваше описание процесса копирования тестовых ведьм пришлось расшифровывать коллективно. Я правильно понимаю, что в скайпе буфер обмена работает только на выход, но не на вход? Так же хотелось бы понять, с каким именно из буферов обмена проблема? Который по Ctrl+C/Ctrl+V или который по средней кнопке мыши?

dant3 commented 12 years ago

Пардон, я не экспертный знаток английского и писал это слегка в порыве.

Я правильно понимаю, что в скайпе буфер обмена работает только на выход, но не на вход?

Да, так и есть по сути.

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

Я пользовался Ctrl+C/Ctrl+V а также контекстным меню.

Сценарий для воспроизведения: 1) открыть любое окно, (например KWrite) и скопировать текст в буфер обмена 2) открыть любое другое окно и вставить текст (например rekonq) - текст вставляется 3) открыть skypetab-ng и вставить текст - вставка текста не происходит 4) если после этого скопировать какой-либо текст в пределах окна skypetab-ng (фразу из чата например), то при попытке вставки сообщения по вышеуказанному сценарию будет выполняться вставка этой фразы.

Хочется также отметить что драг'н'дроп фрагмента текста при этом работает нормально.

kekekeks commented 12 years ago

А у вас менеджер буфера обмена никакой не стоит? Klipper там какой-нибудь.

dant3 commented 12 years ago

Klipper действительно был запущен, убил Klipper, перезапустил skypetab-ng и заработало.

Хотелось бы конечно, чтобы с Klipper тоже работало, уж очень он удобен.

dant3 commented 12 years ago

Похоже что я ошибся, таки не работает вставка из других окон даже без Klipper. Несколько раз перепроверил - Klipper не запущен, копирую текст из браузера, пытаюсь вставить в скайп - вставляется последняя скопированная в скайпе фраза.

Без Klipper хорошо проходят вставки только пока не будет произведено первое копирование в пределах скайпа. После первого копирования вставляется только то что было скопированно в скайпе в последний раз.

antzhdanov commented 12 years ago

Same here. I like SkypeTab but this clipboard issue is a huge disadventage.

vitovt commented 12 years ago

Тоже самое. ТАкая удобная штука, а пользоватся толком нельзя. Или перезапускать после каждой вставки. Плохо %(

sam50 commented 12 years ago

Та же проблема, в юнитях всё работает ок, в КДЕ проблемы с буфером обмена. Версия qt - 4:4.7.4, версия таба - 0.4.9-1. Просто скайп без Таба работает ОК

technic commented 12 years ago

I confirm too

timofurrer commented 12 years ago

I have the same problem

technic commented 12 years ago

Hi! it looks like overriding QObject::connect in qtintercept.cpp cause this problem. I've simply comment out this function, and it's ok now!! fix unity == brakes kde :D

kekekeks commented 12 years ago

That intercept is needed not only for Unity, it is also used to show contact list in case when user presses Ctrl+W or it have disappeared for another reason.

technic commented 12 years ago

Yes, now tray icon ignores left click.

technic commented 12 years ago

Hmm.. I've done some binary search through the code and now I suspect that line 87 SkypeTab::stage1Init(); in QObject::connect cause errors.. May be race condition with "done" flag??

kekekeks commented 12 years ago

It seems that Ihave to intercept something that is being called before the first call to QObject::connect and call stage1Init there.

technic commented 12 years ago

As I can see removing that line doesn't have any side effects..

dant3 commented 12 years ago

Updated to 0.4.10 today and so far clipboard works perfect, Thanks! Kubuntu 12.04 x64, KDE 4.8.2

technic commented 12 years ago

Да уже 2 месяца работает всё отлично, можно закрывать :)