cat /dev/maxilys

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

2006-06-04

KDE 3.5.3: Everything and more!

That's it, I installed KDE 3.5.3. The dust has even settled down. To be honnest, I was a little afraid I had to downgrade when I just finished the installation. I opened a Konqueror's window and... no background image! I've read something about it somewhere and I thought there was no solution except a patch. In fact, everything was okay once I restarted Xorg. Don't ask what happened. Usually, it's possible to install and keep on working but not this time.

I however found a real bug! No arrow next to the quick browsers icons in my vertical panel. And if I set the panel on the right, it's worst. The arrows are centered on the top of the icons. Weird to say the least. I reported the bug and attached a patch. Already!

This time, I patched Kicker. With KDE 3.5.2, I lived with two annoying visual bugs: The highlighted line on the top of the KMenu and the fact that the menu titles were unnecessarily disabled. The missing arrows were much more problematic. I fixed that, the 2 visual bugs and --while I was at it-- I make the arrows stay instead of appearing only on mouseover. That's better. There are however some side-effects: The search entry line has disappeared from the KMenu --Not important.-- and the entry "Open in terminal" is back in the quick browsers. --Not very useful for me.

I also re-introduced all the patches I made to the GUI in KDE 3.5.2. There was also an highlighted line on top of the popup menu titles. When I started to develop my style, I dug deep to find where I was drawing it... until I dug into the KDE sources to find that it wasn't my fault. Gone! Something that was making my eyes bleed was the ugly framing used around the tab panel (KTabCtl) in KHotNewStuff. Gone! This time, that's a "huge" patch! --Huge for me.-- I had to add an include to be able to ask to the style to draw a regular PE_PanelTabWidget and I removed a tenth of lines. I don't use KHotNewStuff but that KTabCtl is used in the dialog to download wallpapers from KDE-Look.org and it was ugly! It's impossible nobody saw it. Just a few little things like that and KDE looks not so rough on the edges.

Then I had to shake some dust from Serenity too. I knew problems could arise with the QHeaders that could be incorrectly recognized as KMenu titles. I saw such QHeaders in some Kicker's configuration dialog. I had to patch Serenity (again).

I say again because I already made a lot of modifications before to update KDE. An new version should arrive soon.

I started with the comboboxes which are now bicolored, with a slightly darker color behind the arrow. It matches with the spin widgets and the editable comboboxes of which the edit field is in one frame and the controls (1 or 2 arrows) on a flat extention of the frame that raises itself on mouseover. The fun part is that the square wheel I invented for the scrollbars turns out to be rounder than I thought. It fitted perfectly with the spin widgets and the editable comboboxes to achieve the 2 mouseover effects I wanted. The controls are raised when the widget is hovered or has the focus but they are raised and highlighted when an arrow is hovered. The tricky part was the spin widget. It has 2 arrows and it didn't look good to apply any mouseover effect on an arrow that wasn't actually hovered. Any way, I reached my goal with my not-so-square wheel.

(New comboboxes and spin widgets)


The last thing I did what to re-design the progress bars. First, I noticed that Xorg ate up the CPU when a progress bar was on screen. This had nothing to do with the design but the speed. I divided the animation frame rate by 2 and Xorg was using the CPU in a more reasonable way. Now I had some CPU cycles to waste so I could start thinking about fancy patterns. No more stupid vertical bars scrolling in the groove.

(4 pretty progress bars)


I'm not sure I'll keep the glass effect --That's not very serene.-- but you got the idea... in different colors and patterns. The funny part is that the glass effect is the result of an error. I was tuning the sub-routine which "draws" the patterns and I wasn't paying much attention to the part which actually draws the progress bar. Some parameters were set for a previous experiment... and the actual result almost appeared by itself on the screen. I said wow! I corrected the parameters I left aside to do better than the hazard and I was able to say wow again. ;-)

Well, I think I heard cyber-dogs barking at the cyber-postman. I'm gonna check my mailbox...

0 Comments:

Post a Comment

<< Home