Life in a shell

bash$ tiagosh

GSoC final report

GSoC is about to end. The good news is that I was able to finish my project, and the bad news is that I would like to have more time to implement more features than I proposed.
All the patches are committed to kopete svn (and libmsn) and trunk (crazy) users can already test them.

As I did not have time to blog (aka ‘I’m lazy to do so’), I am going to report all the status at once in only one post.

Ink support:
The goal was to add a small box where the user could draw something. The ink support will only be compiled if you have libgif. Some people cannot receive inks because they are using old MSN protocols, so the ink button will only be shown if the user is able to receive it correctly.


Voice Clips Support:
It was added to kopete a new action, so it is possible to play and save received and sent voice clips directly from the chat window.



Proxy Support:
The account properties window received new entries, and now it is possible to use a HTTP or a Socks5 proxy.


Emoticons Support:
Three new options were added to better control the emoticons behavior.
1 – Do not send custom emoticons to other contacts.
2 – Do not show custom emoticons from other contacts.
3 – Block emoticons from a certain contact. (this one is in the last screenshot)
Contact List Improvements:

It is now possible to see contacts that deleted us from their lists. A red ‘x’ will be shown on the contact status icon.
Another improvement is that it is possible to refresh the avatar from any contact manually.

deleted usermenu

So that’s it. I would like to thank Google for the opportunity and specially my mentor Gustavo Boiko, who helped me a lot on my project. It was really amazing to be part of this program and I hope that my work can be useful to others.



August 19, 2009 Posted by | gsoc, kopete, libmsn, Uncategorized | 11 Comments

Paint it Black

Hi all,

It has been long time I do not write anything here, so it is a good time for an update.

The news:
well, this year I got accepted to Google Summer of Code and last week I started working on my proposal.
The first feature I suggested is the support to send Ink Draws, and I’m working on it right now.
Just for the record I’m posting here the first screenshot of what I have done so far.

Now the bad news:
MSN supports two kinds of image formats: Gif and Isf (Ink Serialized format, from Microsoft).
My first idea was to store the draw to a QImage (from qt4) and then save it to gif, but unfortunately there is no gif writing support in Qt. The Isf format is now open, and there is a library made by the aMSN people to manage the Isf images, but unfortunately third party clients still does not support Isf.
People from kopete-devel@ ML said that it is ok to link kopete to an external library (like giflib) to manage that, but the right approach was suggested by my mentor, that is to write a QImageIO plugin to deal with this gif stuff.

At the moment I’m busy fixing other bugs and adding some more stuff to the Ink plugin (pen color and size), but as soon as possible I will evaluate what is the best approach (giflib, QImageIO plugin, other? suggestions are welcome) considering my programming skills.

For now I’m using a dirty trick: I save the image in PNG and then.. well.. QProcess::exec(“convert old.png new.gif”);, but do not worry, I will not keep that in the code 🙂

May 19, 2009 Posted by | gsoc, kopete, libmsn | 4 Comments

one step ahead

Just for the record:

SVN commit 884493 by mattr:

Enable the new WLM plugin for Kopete.

This new plugin replaces the MSN plugin and requires an external library
called libmsn which can be gotten from
We're working towards a 0.4 release of that library but until then, please
download the beta versions.

The new WLM plugin provides support for the MSNP15 protocol version and in
general lays the groundwork for a better MSN plugin.

Thanks go to Tiago Salem Herrmann, Gustavo Boiko, and Roman Jarosz for doing
all the heavy lifting.


November 20, 2008 Posted by | gsoc, kopete, libmsn | 24 Comments

May the source be with you

Some months ago I tried to join GSoC (Google Summer of Code), but
unfortunately I was not accepted. Even this way I decided to keep working
on the project that I submitted as my proposal.
About two weeks ago I was notified that Google was going to send me
a swag because I completed my project even without being accepted.
Today when I got home I was suprised by a package coming from google.

My sincere thanks to google.

“May the source be with you..”

October 18, 2008 Posted by | gsoc, kopete, libmsn | 6 Comments