or Alexis Menard in the real world.


KDE 4.8 is really really nice! Congrats! Just KMix popup is confusing…


Today I upgraded to KDE 4.8, thanks to ArchLinux to provide the packages really fast. Globally I’m pretty happy with the move, more polish, more stable, it really shine! So far the only glitch I had was nepomuk resetting where to index (I on purpose disable where my dev environment is) so it started indexing like hell my development directories, freezing my machine at the very first startup. So I’d say congrats to the KDE for such a beautiful release. Nice work!

On the more down side I’m really confused about the new KMix popup when you click on the speaker icon in the systray. I felt confused about it (so were all my colleagues around) :

I have hard time to understand this popup. It seems that moving the slider to the right would decrease the volume (as it goes in direction of the mute button which is anyway against the regular left-to-right == increase for people using the LTR layout) but no *cough* it increases the volume.

Also clicking on the mute button doesn’t give feedback whether it is checked or not again leading to confusion. Any idea from some designer (Nuno, …?) on how to improve it? I would implement it myself.

UPDATE : It seems that the button is not properly updated as it should. That helps a bit to understand how it works :D.

Anyway thanks all for the work!



Why GMail looks bad with Oxygen?

I’m working on WebKit and more exactly on QtWebKit. While running rekonq to test the status of QtWebKit (eating my own dog food). GMail looked really really bad. All the check-boxes are ugly and clipped. Here is a screenshot :

I did investigate and tried to understand why it is like that. The conclusion is : It’s not a WebKit bug neither an Oxygen one, It’s a GMail bug. The column which contains the check-boxes with the drag handle has an hard-coded size of 24px. Here is the declaration of the CSS class applied to that column :

td.oZ-x3 {
text-align: left;
padding: 0 0 0 1px;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 1px;
width: 24px;

Of course this is wrong because Oxygen check-boxes are 21px wide so of course it doesn’t let that much space for the drag handle and the margins. That explain why it’s ugly. Now you can say WebKit should be smart enough but we follow the spec I would say, firefox too and guess what with the Oxygen style support in Firefox it’s ugly the same way too :

So as a good user, I’ve reported the bug to the GMail Team and hope they can come up with a fix that would make many KDE people very happy.


My only blog post about KHTML/Webkit…

Rhaaa again this discussion show up.

I liked konqueror in KDE3 when it was just working both as web browser and file manager. In KDE4 i used dolphin because i find the UI very powerful but i never used Konqueror. The reason is (at least the last time i checked) that it doesn’t support properly gmail, doesn’t work that well with youtube (sometimes the flash plugin is not loaded), a LOT of AJAX website are borked, not rendered properly. Of course i don’t speak about official website from governments that are working/rendered properly in Arora/Firefox but not in Konqueror. This is a show stopper for Mr EVERYBODY and this is the kind of users we are targeting (not advanced users with crazy workflow using features that almost nobody uses). And yes Mr EVERYBODY sometimes use proprietary thingy, that is the way it is. I think giving away some features for a time and make 90% of people happy is a good deal.

Me as an OSS user i don’t like Firefox because it is lacking with KDE integration but i prefer to use it than tweaking KHTML with identities or to avoid having a poor surfing experience. The bad thing as well is that Kubuntu ship konqueror as default, Firefox is not installed unless you go to the package manager. What a poor experience for user when he start browsing for the first time.

I think pretty much everybody agree that we still want Konqueror but with a different engine that just works with very active maintainers. I really appreciate the work that has been done in KHTML in the past but now it’s time to focus elsewhere.

I also hear devs : “gna gna Qt Webkit lacking this and this” but i have to say :

This link can improve Qt/Webkit

I am sure that the webkit team in Oslo will be happy to review patches as well as APIs to access what is missing. (Btw Qt Webkit in 4.6 come with a full DOM API). I am also pretty sure that a KHTML developer will find quickly his way to webkit in order to help in that area. Working together seems to be a good option i have to say.

That’s all for me, i just wanted to remember the Qt open repository to make what is missing happen in order to deprecate KHTML and to stop wasting resources on a double work. Man we don’t have two times our spare time.


The “plasma leak” story…

I think i can say that this story is finally ended!!!
Let me now tell the full story :

Once upon a time in the plasma world…..oops… No seriously, i was poked couple of weeks ago by Aseigo about a possible leak in Qt. The leak show up when you trigger “display seconds” on the digital-clock, xrestop was showing plasma allocating XPixmaps like a hell and after some point stop rendering texts/pixmaps properly and crash. So why? Aseigo kindly investigate and found a possible leak in QGraphicsView code base. In fact, it was one level below in QPixmapCache. The issue was when you insert a new QPixmap with an already used key then the old QPixmap associated to that key was not properly deleted (aie aie aie). The commit in Qt is here : http://qt.gitorious.org/qt/qt/commit/ae949b9d21470a9b9bf200774c246a0b86a69ff6

At that time, i was working on an extension of QPixmapCache in order for it to handle non string based key (speedup++). So i tried the same test case with the new implementation and booom same error but this time it was in the way we’re using the new API in QGraphicsView (just a wrong piece of code herited from the old string key legacy). With the new implementation QGV has been fixed and this bug will never see the “light”. The commit is in Qt main : http://qt.gitorious.org/qt/qt/commit/87911c6c97b11bd7d10a38698460174b6cadfbe8.

But then the story was still not finished, if plasma was running several days then still it was leaking XPixmaps. Grrrrr. Since valgrind can’t help you in that case then you have to investigate manually. I basically tried everything with the QPixmapCache (both new and old) to be sure it was not leaking. I double checked reference counting in QPixmap to be sure QPixmapData’s was correctly deleted, everything was working as expected. With samuel (a troll), we decided to create a static hash map of QString, int in QPixmapData which will contain as a key the backtrace of callers (using kRealBacktrace) and the number of time the caller tries to allocate QPixmapData. Nothing bad show up.

Finally i had a break and before i started to be crazy, i thought : “What is running in Plasma (and triggers updates) when i leave the office?”. The answer is, the clock (again) and the systray (Konversation blinking and KMail showing my mails). And the solution was in the last guy, the systray applet. This applet creates XPixmap and never release them in some cases. Here is the log :

It has been fixed now and plasma show only 200 pixmaps in xrestop when idle.


Thanks for people involved in that bug (both reporters, KDE developers and Qt developers).


Plasma and caching…

Andreas and me are actually working on improvements on how QGraphicsView handles the caching. Of course we have some test-applications to validate our work but Plasma provide us a pretty good real use case. Here is a screenshot that we took on Plasma using a small trick to see what is cached and what is not cached.

In red, NoCache mode. Green or blue show items that are cached (green is DeviceCoordinate, blue is ItemCoordinateCache).


It seems that the caching in Plasma can be improved. 😀


Aaron tells the truth…

You remember the post of aaron about our the next battle we’ll have. The next focus is Windows 7. Today was the PDC (professionnal developer conference) of Microsoft and they have shown to the world the new interface of Windows 7 called Scenic. So they said no more 3D eye candy, it is useless. Simplicity is the new word.  No more word can describe this :

Welcome to Winsma or Plasdows what do you want!!! So aaron was right to focus on the next step windows 7 but this screenshot is like an aggregation of other ideas,  not real new features…But the battle never end wait and see!!!!


Back in France, end of aKademy, and new job

I’m now back in France, in Paris and i live in my mother’s flat.Akademy is now finished, it was great.The program was good, conferences very interesting. I haven’t hacking so much, just a little, fixing some bugs and working on the notifier.
The organization team did a wonderful job. I would like to congrats the team! I was pretty happy to see new students from ervin, i hope they will stay like me in KDE. I was very happy to meet new french : Gilles Caulier (from digiKam), Sebastien Renard (from translation team), Pierre Ducroquet (from Koffice). French start to be more and more in KDE (ahahaha). As usually i meet other Plasma devs and friends. Like last year, i come back at home with lot of things in my memory. I would like to thanks Olivier Goffart, our guide in belgium, for his jokes and his explanation of belgium customs (s’il vous plait).
Now i spend time hacking on KDE (a little) and on my N810. I try to see my friends in Paris before leaving France and we arrive at this second part of my post : i just get my first job since i have finished my studies in June. I have the chance to be hired by Nokia, in Qt software division. I will join lot of wonderful people in Oslo and i’m pretty eager to start working next month.