a while back i got an email from a developer at lenovo, the company that ibm sold their pc division to and who now makes ibm's desktop/laptop gear. he was asking how to remove an applet via dcop from kicker (you can't). i explained the situation to him and what would be needed to fix it and went on with fixing bugs, finishing features, going to conferences and spending time with my family. this was a couple months ago.
i was then asked by a suse/novell person the same question last night. the way the question was phrased rang bells in my head and i asked if it was a request from lenovo.
i figured that if it really meant that much to them, then the least i could do was add support for it in 3.5. hopefully they'll let me know if they need it in some earlier version so we can arrange a backport. in any case, one can now list, insert (immutably or not) and remove applets from the panel using dcop. here's how it works:
aseigo@linux:~/> dcop kicker Panel listApplets
K Menu
System Menu
Settings
Konqueror
Konsole
Kontact
KWrite
systemtrayapplet.desktop
clockapplet.desktop
aseigo@linux:~/> dcop kicker Panel insertApplet kolourpicker.desktop 7
true
aseigo@linux:~/> dcop kicker Panel listApplets
K Menu
System Menu
Settings
Konqueror
Konsole
Kontact
KWrite
kolourpicker.desktop
systemtrayapplet.desktop
clockapplet.desktop
aseigo@linux:~/> dcop kicker Panel removeApplet 7
true
aseigo@linux:~/> dcop kicker Panel listApplets
K Menu
System Menu
Settings
Konqueror
Konsole
Kontact
KWrite
systemtrayapplet.desktop
clockapplet.desktophuzzah!
in other news, i am finally able to reproduce bug #113235 which was reported due to a rather massive breakage in kicker's transparency. at first, based on the initial report and my inability to reproduce, that it must have been the button background not being painted explicitly as applets do so i went ahead and nailed those boards down. but nope! that wasn't it. fortunately people tested the possible fix and were stable seeing the problem. unfortunately, i still couldn't reproduce it.
and then the brakthrough information 10 comments into it: the pager was somehow causing this misbehaviour! turning on and off the transparent pager revealed and fixed the bug respectively for most people. but not all. i still couldn't reproduce it. and then Artem S. Tashkinov added comment #45 detailing exactly what pager settings were needed and ... voila! i can reproduce it.
that's right, 45 comments including one commit log message, a couple of duplicate bug notes and a ton of feedback from those seeing it.
now, as much as i feel violated whenever i work on transparency issues in kicker ;) i have to give mad props to everyone involved in bug #113235 because they stuck with it, answered questions, tested possible fixes and eventually stuck the problem!
i'm off to eat lunch now, but am taking my laptop with and will be retiring to a coffee shop (hopefully with wireless) to fix this issue.
luv 'n hugs.

5 comments:
Why are you still working on DCUP?
Ain't going to be replaced in KDE4?
Other question?
Why does the pager has a separeted transparency setting from kicker?
Souln'd be better to have only one setting for all Kicker or panels and the pager just ihnerited from them?
yes, we'll likely go to D-BUS with KDE4 (though that hasn't been started yet). however, this is work on kicker for 3.5 where we still use DCOP.
and the reason the pager has it's own settings for transparency is that some people want a transparent pager, but to show the desktop wallpaper on their pager.
it would be nice to have proper transparency in kicker that would allow blending and what not, but we won't be able to do that until kde4 either.
I wonder what Lenovo is doing with KDE.....
Speaking of panel transparency, it would be nice if you could set independent transparency/backgrounds for each panel (the main panel + its child panels).
Someone was on #kde the other day asking if this was possible, I investigated, and found that the settings for transparency and background are in the child panel's config file, however they seem to be ignored in favor of inheriting the main panel's settings.
Post a Comment