Search This Blog

Loading...

Sunday, March 17, 2013

Migrating to KDE Telepathy

Last Friday I decided to migrate from Kopete to Telepathy. Believe it or not it was Microsoft that convinced me to migrate. I explain, I used to use Kopete for gtalk, jabber, Windows Live Messenger (wlm), skype and icq. I have just a few contacts in the alternative (to gtalk) jabber server and icq and most of them I can contact using other protocols. Now that wlm contacts are migrating to skype and Kopete's skype support is kind of broken* I used to use Kopete only for gtalk, so there was no need to wait for the metacontact bug to be fixed anymore.

* I have migrated my wlm contacts to skype. It works ok in Skype 4.1 but Kopete is not able to see them. Besides Kopete is not able to change skype's status (online/offline/away, etc) anymore.

All KDE Telepathy (ktp) installation process went smooth in Gentoo, but then the contact list did not appear. After some time researching I saw in a log that telepathy-logger was complaining about some uninstalled schemas. Issuing the command "glib-compile-schemas /usr/share/glib-2.0/schemas" fixed this problem and the contact list works now. Well, I still would like it to disappear when I click on the systray icon but it seems  we I will have to wait for a solution for this problem. Update: we did not have to wait that much :-). Another bug that I would like to see fixed is the problem of showing groups with zero contacts in contact list.

All in all, I like ktp and it is working well here, except for one crash when I try to search a contact in the contact list :-/ I added a facebook account, which I never used in Kopete, and now I use ktp for gtalk/g+ and facebook.

One thing that I really miss in all communication programs in KDE is the ability to set a glogal available/away. Today I use ktp, skype and konversation and I would like to set my status in only one of them and the others follow it. Last year I tried to implement something like that but never finished my work. Today I tried again and implemented something simple that works for me. I know my patch is not ready for reviewboard yet, just wanted to know if somebody else is working on something like that. By the way, the patch applies against ktp-kded-module. Now when I set my status to available/away in ktp it will contact skype and konversation to do the same, pretty cool :-)

I know kpt supports to skype but Gentoo does not have an ebuild for telepathy's skype module, so when I have some spare time I will create one.

15 comments:

Dave said...
This comment has been removed by the author.
Dave said...

If you have a crash you know what to do... :)


FWIW, it's an assert in newer Qt but all goes fine in non debug versions of Qt are fine. I've heard about it but I don't have a backtrace / error message because that person telling me also didn't report it in the right place.

Anonymous said...

What Kopete-bug are you talking about? For me it works fine with KDE 4.11 (Kubuntu). I can see my contacts and I can change their status. Startup is a bit slow though.

Thomas Pfeiffer said...

That global status function sounds great, and I'm amazed that it works even with Skype! I hope you'll get it ready for review soon, I guess many users will like it!

(I got an error messege after submitting, so I'm not sure if my comment went through and so I'm posting a similar one again. If the first one got through, just delete this one)

Christian said...

Hi,

I am glad that the global presence works for you, but I hope that this will never be included upstream.

As much as I can see the need for a global presence applet: KTP shall never ever touch other applications for me that are not managed by it. This is, from a usability POV, a horrible thing. The user simply doesn't expect that changes in application A change the status of unrelated application B.

If a user wants that: telepathy can do IRC. And even though for me, as an IRC power user, it does it in a horrible way (same as all the other IM solutions handle IRC): for most regular users it should be sufficient. Then setting your state to away should also affect IRC.

A possibility would be to create a stand-alone presence plasmoid / systray thing, that could be extended to other IRC clients as well (there are already two KDE/Qt ones, not to mention all the other ones). In a perfect world you could configure which ones it should affect and which ones it should leave alone.

Aside from that: Nice blog post. I recently switched to ktp as well (also on gentoo), and even though there are a few things still missing I think it is going in a nice direction.

Anonymous said...

I don't know if it only happens to me, but whenever I change my status in ktp to invisible, it changes automatically to "busy" and I have to change it to invisible again... I'm using it under Gentoo, so I thougt you noticed the same.

Looking forward to the 0.6 final release!

Christian said...

@Anonymous:

This is a known problem and unrelated to the distribution.

Since KTP only (Without hidden config options) supports one global status, it automatically takes one that all selected protocols support.

You probably have a bonjour/local account configured, which doesn't support invisible. If you don't need that account, disable it. Then it should work.

And yes, I personally consider this a bug and a blocker to move away from Kopete. Per-Account Away is, as far as I can see in the KTP Wiki, planned. So I hope that this bug will be fixed when that comes.

Lamarque Souza said...

@Anonymous, I can see the skype contacts, not the wlm contacts when I use Kopete with Skype 4.1.

@Thomas Pfeiffer, thanks :-) I see only this comment of yours. The first comment in this blog post were deleted by the author but blogger does not tell me who the author is.

@Christian, I plan to add this feature as a plugin to ktp, so it can be disabled by default and even add the option to disable per protocol too. I do not like adding one more system tray icon/plasmoid just for this feature.

@Anonymous, the state is changed to invisible, just the text in system tray icon is wrong (it should read "invisible" but it is says "busy"). The icon is correct though and my patch changes skype's status to invisible so it seems to work except for that text.

Christian said...

@Lamarque:

as a configurable plugin sounds great :)

I will personally disable it, but I am sure that quite a lot of users will be very happy to have that.

Thanks for your work.

Драгица Ранковић said...

"I can see the skype contacts, not the wlm contacts when I use Kopete with Skype 4.1."

Would that not be the same thing? At least once MS migrates all messenger contacts to Skype.

Lamarque Souza said...

@Драгица Ранковић said, I can see all skype and wlm contacts in skype, so the wlm contacts should appear in Kopete as well but they did not. Anyway, wlm is being phased out, then I do not have a need for wlm in either Kopete or ktp, I just need a better skype integration. I am going to test the telepathy's skype module when I have some spare time.

Orjan Sinclair said...

As much as I would love to migrate to ktp from Kopete I find the bug that it relies on Networkmanager and does not "see" if I connect via command wvdial to be a huge problem. For me and others who use modems not recognised by networkmanager

Lamarque Souza said...

@Orjan Sinclair, I think you mean the fact that ktp relies on kded's networkstatus module (like does kmail2). If you do not use NetworkManager or Wicd then networkstatus set the status to "online" to prevent programs from mal-function.

Networkstatus can also be compiled against ntrack (preferrably ntrack 0.15 or >= 0.17) and then networkstatus will be able to detect network status from any network interface directly, even if you use 'ifconfig' command to configure the interface.

So the fact that you use wvdial should not be a problem. I also use wvdial sometimes when debugging problems in Plasma NM (to make sure the problem is not in NetworkManager nor Plasma NM).

Dave said...

>The first comment in this blog post were deleted by the author

That was me because Blogger posted my same thing twice.

Anonymous said...

Laughter is a best solution of fear, anger and boredom.
Emotions have great impact on our human body because when we have emotions, our body changes throwing our body in balance and
preparing us for remaining happy and healthy. We are offering the latest news updates about your famous celebrities.


Here is my web-site - cute funny pictures animals