Beat Wolf has made good progress this week on improving the MacOS Dashboard widget support in Plasma. We now have the full widget API implemented (though some of the methods are just stubs as they don't really make sense for Plasma) so Dashboard widgets can now store and retrieve their settings, get notification of being closed, etc. We don't yet have the "flip" animation bit there, but that leads us to the current state of affairs:
Beat has now moved onto the JavaScript files that Apple provides. The JavaScript files contain classes that implement animation timers, sliders, buttons, scroll areas, scroll bars and that info button thing. Many widgets reference these JavaScript files using absolute paths to where they are shipped on MacOS. Obviously this doesn't work very well for Plasma unless you run it on MacOS. ;)
So first things first, Beat put a little trick into the Dashboard installer that replaces the requests for Apple's files with requests for our own files when the widget is installed. So now installed Dashboard widgets will actually load our own JavaSript files.
Only .. we don't have those files .... yet! You see,the ones that Apple ships are not freely redistributable unless you include them with a widget that you write for MacOS. Uh-oh.
The answer? Reverse engineering, of course!
If you are a JavaScript guru, the sort who laughs AJAX in the face and eats JavaScript driven HTML snippets for lunch, check out Apple's kindly provided documentation and help us create those JavaSript files. You can find us in #plasma on irc.freenode.net or on panel-devel at kde dot org, and we'd love your help because we're more the juggling flaming bowling balls C++ type of crew right now and less the trapeze swinging web programmers type crew.
If you do want to help out, please do not look at Apple's JavaScript files as you implement them. Look only at the API documentation, otherwise your work will be "tainted" and we will not be able to legally use it. And that would be a shame.
Saturday, October 18, 2008
Subscribe to:
Post Comments (Atom)

4 comments:
I just implemented AppleAnimation.js
It's available here, and the test case I worked some bugs out with here.
> Obviously this doesn't work very well for Plasma unless you run it on MacOS. ;)
Talking about KDE for MacOS... it seems halted. The site claims that "Official support for Mac OS X is targeted for KDE 4.1.0" but it never made it. Now, don't get me wrong, I'm not demanding explanations or anything and I know that this blog probably is not the right plave to ask, but since KDE on MacOS would really be helpful in my working environment (well, Kontact + eGroupware that is, if I happen to make them work together) I'd like to ask if someone can provide at least some indications about whether it's in some "frozen" state or not and when/if a stable version (read: something you could get your boss to use without risking beheading) will be released. mac.kde.org hasn't been touched in months and I couldn't find any info anywhere, though I may just have looked in wrong places....
PS. I'm having problems publishing this comment... if it appears twics or more I apologize in advance
@hikingpete: awesome! but i can't include it yet: it needs a copyright header containing your name, which license it is released under .. LGPLv2+ or BSD is best in this case. then we can legally redistribute it.
feel free to email the files with that information if you don't feel like posting it to pastebin ;)
my email is aseigo at kde dot org.
@ettore: i'll try and find out and report back...
Post a Comment