Search the blog

A blog about the magic which dwelves deep into KMess

Archive for the 'KMess features' Category

Hello worl..planet!

Sunday, February 22nd, 2009

Hi! I’m Valerio Pilo, one of the developers of KMess – a KDE alternative to Windows Live Messenger.

This is my first post syndicated on the Planet, and incidentally also the first after an entire year of inactivity in my kmess-related blog. Having a lot of readers is quite a good incentive to writing 😀

This post will first show you the next upcoming version of our fav msn client (first beta will be out this week probably), then tell you about a new project we’re slowly starting, libISF, which will be a library to encode and decode Microsoft’s ISF format (the spec is open now).



Saturday, September 1st, 2007

Hi readers! This is my first real post to the KMess blog.. I want today to let you know about the improvement to our beloved client that I’ve worked on in the past week or so.

This is “asd.gif”


This, lo and behold, is the first custom emoticon ever sent by a KMess client 😉

I’ve worked really hard on this improvement – I’m an emoticon junkie. I can’t resist. I put emoticons on almost every message I write. I find them very useful to clarify the tone of what you’re writing, and the standard MSN emoticons – even the KMess ones! – just can’t beat the expressivity of an animated picture chosen by yourself!

It allows the user to have a custom set of emoticons for every account. So, for example, you can have an account for your work contacts with serious custom emoticons, and one for your friends and family, with a lot of funny emoticons.

Right now it’s fairly complete: but there still are a couple things that have need of a good ol’ revision before I can “consider it done”. So please, take everything I say and every image you’ll see below, as only work-in-progress drafts. No guarantee that this will be the final look of it – nor even the way it’ll work!

Managing the current emoticons is a breeze. Here’s the Emoticon Settings dialog:


Look Ma! I’ve got a ton of them!

You can rename in place the emoticons, and remove them by selecting and clicking the Remove button. Couldn’t be easier, isn’t it! I was really surprised to find out how simple had been to create the whole dialog, and to make it work.. in like, 10 minutes?, i had read the documentation and written the first code down. And it worked. Flawlessly. I swear, never saw anything simple as Qt.

But let’s go on… There’s an “Add new…” button, too, right? Here’s what appears when you click it:

New emoticon dialog
KISS style

The dialog is live, so you’ll know you’ve inserted a valid image because it will be showed in the area with the KMess logo. The Ok button will enable only when it’s all ready to go, with an image and a shortcut for it. This was a little harder to realize how to make it. Thanks a lot to the KDE documentation team!

Finally, there’s the chat window. This will probably suffer the most modifications, since it’s more than a draft. it’s a pre-pre-pre-alpha ok? You’ve been warned. ^__^

New chat window, yay
Very very ugly, very very alpha chat window

It’s a mess. I’m still trying to find a better way to put the custom emoticons panel in… and there’s also the issue of that stupid sidebar which doesn’t have a scrollbar… the most annoying thing currently in KMess, I say. As a relative newbie to programming, I couldn’t find a way to make it work (yet).

Now that I’ve let you have a sneak peek at the mere looks of it, let’s talk about the internal gears and pinions which compose the emoticons system in KMess. Feel free to skip this part 😀
Internally KMess works out the emoticon themes as other clients (most notably Kopete) do, that is, with XML definition files. They contain the picture file names of the emoticons, and for each one of them, they also contain the shortcuts which translate into it.

As with the current versions of KMess, the standard emoticons set gets updated if you choose another one; you can select a Kopete theme and only the MSN icons that the new theme contains will replace the standard KMess theme. I’ve replicated this feature so it continues work notwithstanding the fact that the underlying code is almost completely changed 😀

In related news, that now you can also load themes with GIF, MNG, JPG images. But be warned, it’s quite certain that Windows Live Messenger won’t be able to view your shiny MNG animated emoticons. Sorry :(

Also, a new emoticon manager takes care of exchanging, loading, modifying emoticon sets at your command, and will automatically guess the file type of your images. Getting that system to work was the most challenging task. Three classes define emoticons (Emoticon), collections of emoticons (EmoticonTheme), and emoticon management (EmoticonManager); i find them to be working well, though I’m still waiting for Diederik’s opinion 😉 There are *without any doubt* still some bugs or things that will need rewriting.. but it’s a matter of time!

Gotta go now.. I’ll probably post again about this new feature, so check back here sometimes