unfortunately longer pieces of string have this really bad habit of getting themselves all wrapped up into a messy tangly ball if you don't watch them closely. as a scary insight into my personality: when i find such a piece of string around the house i often put it on my desk and work on it in quiet moments until it's all untangled. i love untangling string; tactile, puzzle like wonderful string balls.
ok, so what does that have to do with anything? well, the layouting code in libplasma is string-like. in theory you can do a lot with it. in reality it was a tangly ball of code. it needed to be gently unknotted so it could be used to tie up presents and entertain felines again. i finally got around to looking into it and after not even a whole day's work it's already a lot nicer in there. it's not perfect, but the class hierarchy makes a bit more sense, sub-layouts work and fewer widgets get screwed up.
the twitter plasmoid, for instance, had been routinely abused by the tangled layouts code. it went from a cute looking plasmoid back in the day to a confused jumble of images and text. i felt really rather bad about it, especially for Andre Duffeck whose work had been stomped on by changes in libplasma that were in theory for the better.
well, after a series of fixes, with Alexis at my side helping to port applets left and right where breakages were caused, i fired up plasma and saw to my pleasure that the panel was finally laying itself out properly. so then i took a deep breath and put twitter back on my desktop. and lo:

it's back to the way it was! =) a little more whitespace (Andre: maybe some margins?) and we'd be golden (well, aside from the rendering error in the lineedit you can see there). speaking of margins: plasma's layouts support different sized margins on each side of the layout which is pretty nice. the panel uses this to position the contents within the svg background. neat.
next up to go through all the applets and find ones that are trying to manage their own geometry rather than let libplasma do it. then make the applet handle respect minimum size hints. then use the working layout goodness in the panel and add handles there. then make panels drag resizable. pop on some config dialog goodness that is starting to appear in svn (did i mention we now have basic slideshow background support thanks to jpwhiting?). then release. then dance. then pass out and sleep for a week.

9 comments:
I'm liking the parts about untangling string (it's a secret hobby of mine) and passing out for a week. The passing out especially, since I just got back from a Coheed & Cambria concert and it destroyed me.
I'm glad things are starting to get pieced together the way they should. It's like on the user's side of progress, mostly anything that's visible is coming down to this past couple of days, and it had me really worried. I'm really looking forward to the screencast.
I'm not going to lie...i'm more of a slinky untangler myself....
I think it'd be good to have a list of do's & don'ts for applet sizing stuff, to help developers avoid doing crazy weird stuff...
Sounds good Aaron :)
On another note... is plasma still going to do the zoom stuff that was planned? Maybe that's for 4.1 or something?
"is plasma still going to do the zoom stuff that was planned"
you can already zoom in/out, but all the features i want to make it truly useful aren't there quite yet. 4.1 at the worst, but it's still cute to zoom out and see your desktop from afar ;)
Sounds like the beginnings of KHTML-Lite. Maybe just give us and go for the actual thing? :)
Looks good, even that twitter isn't popular in those lands as in USA.
Anyway, the input text fields looks a bit out of place, with rounded corners not merging very well with the dark background. Is this a problem of using oxygen theme with ligh colors and plasmoids?
If that's the case, probally plasmoids will have to force UI elements to a self-made color theme, IMHO.
At last! A thinly-veiled Goodies reference!
"String, string, string, string! Everybody needs String!"
I'm going to have that Goodies song in my head all day today now ;)
Of course, only Australians, British and Canadians (and possibly some other Commonwealth hackers who grew up with BBC TV shows in the late seventies/early eighties) will understand what the heck I'm on about...
String is wonderful. And string keeps cropping up, in libplasma ("string is Eeevil"), in String Theory, stringing nonsensical threads together in my comment... bwah!
think's i'll go have some more coffee now... sorry for that moment of madness, couldn't resist! :)
Thanks very much for your efforts and those of the KDE team Aaron. Thanks especially for spending your time helping to make KDE 4 a cutting edge desktop experience.
Post a Comment