Categories
Search the blog
Navigate/Search

A blog about the magic which dwelves deep into KMess


Rambling

Lately, an incredible - and probably unrepeatable - series of coincidences has happened. No upcoming exams, a lot of friends sick with flu, little work to do, no girlfriend, cold outside: mix them all together, pour in a cocktail glass, and you’ll get why I’ve been doing so many commits lately.

KMess 2 is coming on quite different from what I had initially thought. I was thinking at it just as a more free playground where to shove all the features I could read in Trac or imagine myself… but it’s more. As I continue fixing the last very small
problems in the code, I keep finding points where we could just throw away some old code - and create something better, faster, prettier instead.

I’m quite excited about the possibilities Qt4 and KDE4 are giving us, and I’m already exploring some of them, like a new contact list with a much improved style, for example. That’s just one example out of many since, as I said above, there’s a lot of room for improvement here and there, simply too much to list!

The downside in all this fertile ground, is that we’re alone seeding it. KMess has always been a small project; but this time, I’m feeling way more limited than when I was contributing for the 1.5 release, because of this. With all the thing we could do now that we have an incredibly powerful set of tools, some excellent network code, and a stable program, we can’t start rethinking everything from scratch because we’re so little developers. This sucks.

However, I’d continue improving KMess even if I was alone!

Regarding the project status, we’re still porting. But now, we’re almost done: here’s a screen grab of the SVN version!

That’s the current SVN version, for the KMess2 branch

There are still a couple glitches with file transfer, the contact list is still plain ugly, and the resource locator isn’t working correctly, but it’s almost done. I hope to be able to finish the port this week… then we’ll be able to start the real innovation ;)

asd.gif

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”
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:

 

custom-emoticon-settings.png
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 :D
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 :D

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

Yay!

Hi KMess users! This is Valerio at the keyboard writing, i hope our readers will enjoy to read the crap interesting articles I’ll write about what we, yours truly KMess developers, are doing with this great program :D

I hope I’ll be able to post here usability polls, sneak peeks at new features, and whatever I’ll think of, to try enhancing our messaging client… Cya soon!