cat /dev/maxilys

A glance in the mind of a KDE/Linux developer to see how ideas turn into code.

2006-12-06

KDE: Loose weight!

The spammers used to want a part of me to get bigger, now they all want me to get thinner. I absolutely don't need it but I'd would have liked having one of their drugs to make Serenity lighter!

My free webhost is nice although a bit slow when I upload but I totally forgot that there was a 500 KB limit for the files. It made me laugh to see how much weight Serenity has recently gained... but I couldn't upload the source archive anymore.

What could I do? To remove code wasn't an option so I removed a part of the rest: Some colorschemes that weren't directly installed and I trimmed every text files. That wasn't still enough. So I also trimmed the comments in the sources files. Ouch! I never thought that would be so painful!

Any way, at least, I didn't remove any feature from Serenity. I even added one since last post: The rubberband can now use the highlight color to become more visible. So far, there isn't much I have been to do with this boring rubberband. The result was always ugly one way or another. This little touch of color isn't the killer feature but it's nice... Well, with the colorschemes I provide that don't use a dark highlight color, otherwise the rubberband will only look thicker.

By the way, that reminds me that I included in the (now external) colorscheme archive a serene version of the "Classic KDE" that I called "Modern KDE". I just tuned it a little but it's still a lot like its "former self".

That's pretty much all I did for the style apart from increasing the separation of the vertical tabs to 2 pixels. (I have their name on the tip of the tongue but it's stuck and won't fall onto the keyboard...) That's the widgets you get with Konqueror side bar. Oh! And I fixed the QToolButton's so that they look less often like the tab arrow buttons. The QToolButton's are overused and it's a mess to guess what does what and where. Usually the styles draw a button for everything that behaves like a button. That's very simple to code but that's not Serenity's way. Things are a little more complicated to get the result we know. Whatever... It's done and it works.

Most of my work was dedicated to the window decoration. I removed the B2/BeOS frame shape. It was just a passade. I realized I just didn't use it anymore. Besides, all the calculations it required was an obstacle on my way towards the mythical city of Always-More-Speed. ;-)

Thanks to the few CPU cycles I gained, I restored the zen border on the inactive windows. I felt that the borders were blinking when the window changed of state. Now, with the zen border always using the window background color, it has always the same colors and doesn't blink.

While I'm talking about borders... I made a last minute change: Now the windows are always square when fully maximized. And if you don't disable the borders, there are drawn flat without outline. Drawing gradients all across the screen take time nowadays. But I first did this to simplify the mess I coded previously.

I wrote what's above yesterday and I got interrupted.

Since yesterday's release, I've already made a little change. Not in the code but in the graphics. Somebody criticized my "modern trees". They're not so bad --or maybe am I just used to them-- but I tried to find something else. The "critic" put in words an idea I had only in image: To always keep the dot and to add an arrow to indicate the state collapsed or expanded. IMHO, the best result would be achieved if the dot could remain in the center so the arrow shape looks like to turn around. Alas, that's not possible. There just isn't enough room around the dot to make a big enough arrow. Besides, with all the empty space on left or on top, the expanders aren't (visually) a large target any more.

That's why I ended up with the current arrows that do not match all other Serenity's ones. Any way, I already have two replacement choices. I'm going to play with them until I find the right one... or a third!

I have plenty of time until next year. A monthly release is a good schedule, it gives time to think about everything... And next month is next year. So... Happy new year, Serenity! ;-)

Labels: , ,

0 Comments:

Post a Comment

<< Home