prev
Issue 60
27th May 2007
by Danny Allen
next


This Week...
Continued work in Plasma, particularly in the clock visualisations. Kalzium uses the GetHotNewStuff framework to download new molecules for its 3d viewer, plus speed optimisations for the rendering of these molecules. The start of fullscreen support in the Gwenview image viewer. Work begins on a WebKit-based KPart. A KControl module is created to allow for easy manipulation of KWin "Composite" settings. Continued work on the OpenChange Akonadi resource which enables interoperability with Exchange servers. Statistics plugin for a graphical representation of connection speeds in KTorrent. Improved handling of HDR imagery in Krita. Branch created for the integration of Solid-based connection management and notification in Konqueror.

Aaron J. Seigo talks about the hot new developments in Plasma:
plasma is taking shape quite nicely. after some experimenting, we've settled on using QGraphicsView for both the root window (desktop) layer as well as the panels. as per the original plan, they share the same view implementation.

right now one can see all of the various pieces coming together in the form of the clock applet, the desktop background and the beginnings of interface elements such as the desktop toolbox which gives quick access to common desktop tasks such as adding new widgets and icons, zooming, etc. applets are loaded from plugins, can be moved around, configured, etc.

the separation between data and visualization has progressed nicely and it is at the point where DataEngines for various data sets can start to be written. working on a weather information DataEngine has started and the window task manager DataEngine (think: taskbar, pager, etc) will be started soon. they are easy to write plugins, so hopefully we will see more and more of them which will help to prove the API. once a DataEngine is in place, it becomes fairly trivial to have the results show in a widget.

and speaking of widgets, work on widgets and geometry management of them is progressing as well. much of our work is likely to be superceded by work currently happening at Trolltech for either Qt 4.4 or 4.5, but we need basic support for layouts and widgets for KDE 4.0 (which uses Qt 4.3).

visual transitional effects (which will also be pluggable), scripting, panels and widget packages are all going to appear in very short order here as well. i expect to see the work done on the Raptor menu to find its way into kdebase soon as well. work on API documentation is pretty complete at this point and development tutorials will be appearing on TechBase over the next month or two.

i've also settled on a definition for "plasmoid" that i'm fully comfortable with... i haven't altered it in a couple weeks, so i'm pretty confident in it now ;)

a plasmoid is the combination of files that go into creating a plasma plugin. this includes:
  • metadata (e.g. .desktop files)
  • svg images
  • configuration definitions (KConfigXT)
  • code (either something Kross groks or a compiled c++ library)
  • ...?
the script version of a plasmoid will be packaged using ruphy's plasmagik (nearly ready to be integrated into plasma; next week is the target for that!), meaning that a user will download a "plasmoid" which is really a plasmagik package. of course, other apps can use plasmagik, so not all plasmagik packages will be plasmoids. =)

these packages will contain all the files needed to have a plasma widget.

so what's an applet? the code part of a plasmoid is the actual applet, technically because it provides a Plasma::Applet object. to users, this will be an implementation detail they probably never see.

part of the plasma work over the last 8 days has been on clock visualisations. Riccardo Iaconelli sends the following images:

Download Clocks in Plasma video (10.4 MB, MPEG)


KDE 4.1 will have a Plasma with even more features and capabilities, but we will have something that is both attractive, useful and usable for 4.0.


we have a meeting on irc in #plasma set for this thursday the 31st at 17:30 GMT. if you are interested in getting involved writing applets, widgets, DataEngines, documentation or helping to implement the core library and applications, please join us.

To celebrate the recent resurgent development of Plasma, I have created a KDE Commit-Digest exclusive Plasma wallpaper (one per reader, limited time offer!):

1024x7861280x1024


Alexander Wiedenbruch and Danil Dotsenko write about the future of SuperKaramba, and how it fits into the Plasma vision:
With Plasma on the horizon, many people feared that SuperKaramba will be obsolete. But with the integration into KDE, the SuperKaramba community became even more active. In order to preserve the efforts of the whole SuperKaramba community we made the decision to bring SuperKaramba into shape for the KDE 4 release with three main goals:
  1. Give SuperKaramba access to the newest technologies
  2. Keep old themes running
  3. Listen to the community
New Technologies
There are two major technology upgrades in KDE4 SuperKaramba: QGraphicsView and Kross. With QGV we are able to make stunning visual effects finally available. It alao allows us to integrate SuperKaramba into the Plasma desktop, since both technologies are built on top of QGV. SuperKaramba themes can now live within the Plasma space and will help fill the initial void till real Plasmoids appear.

Kross is now our main script interpreter. For theme writers this means that it is now possible to write themes in many different languages, not just Python. At this time Kross supports Python, Ruby, JavaScript and, soon, Java. All these languages will use the same, tuned and time-tested SuperKaramba API. So, theme authors can now use their favorite scripting language and still be at home with the same API functions they learned and used before.

Backward compatibility
Keeping the compatibility for old themes was a big task because the new technologies mentioned in the first point work much differently than how it was done before. To implement the Kross bindings we needed to port about 200 API calls from the original bindings to the new Kross interface. Altogether more than 5000 lines of code were added. Of course some unexpected difficulties will occur so you will still be able to use the old bindings that proved their stability in the previous SuperKaramba releases. Of course, there are some themes that may brake for reasons beyond of SuperKaramba's control, like reliance on DCOP, or use of KDE 3 style icon paths. Based on our testing, a large number of themes will work seamlessly after the switch. Bellow you can see a screen shot of the popular AeroAIO system status theme running happily on the new SuperKaramba and KDE 4. It also shows true transparency and some visual effects that will be available in future.

Time to listen to the input
While we have our hands in the code, this is the good time to reach out to the SuperKarmaba scripting community and give back solutions to the problems theme creators faced. No one knows better what is missing in the feature set of SuperKaramba than the theme creators. So we sat down with two of the main theme contributors of SuperKaramba, the maintainers of LiquidWeather and A-foto. One of the most wished features was greater flexibility in modifying images. As a result, we came up with ways of altering and assigning transparency selections to images, and loading and partial rendering of SVG images. Both of the features allow the themers to improve visual presentation of interaction for user. Animated events and notifications are now possible. Since we cannot possibly implement every possible effect, we wrote API calls allowing authors to draw their own images on a pixel-by-pixel basis. This means they can now use integrated image libraries or external tools like ImageMagick for their image transformation needs. A “chalk board” SuperKaramba theme is now a possibility.

The first screenshot shows a Plasma clock, Aero-AIO, A-foto and Translate Plus applets. The second shows future display possibilities, the rotation done by QGraphicsView.

Not every flashy new technology is implemented. We tried to maintain a strong practical balance between addition of features and backward compatibility. As a result only a few new API calls were added, but whatever changed will dazzle theme creators and end users. We now turn our ears to the larger SuperKaramba community. If you want features or want to help with solutions, come, share it on #superkaramba channel at irc.freenode.org or join the forum at http://netdragon.sourceforge.net/

Carsten Niehaus introduces new features in Kalzium:
The Kalzium developers fixed many issues this week and added some new features. The molecular viewer got a revamp of the user interface after the rework of its internals (see last digest). Here you can see a video of the viewer in action.

Download Kalzium Molecular Viewer video (1.7 MB, MPEG)

Please note that the video stutter/lag comes from the video capture process and not from Kalzium!

Of course, reports on developments cannot always be positive. Sebastien Laout announces sad news about the BasKet note pad application:
Due to being very busy with real life, I'm afraid I have to give up on the development part of BasKet Note Pads. This really hurts me because it is my "baby", but I have no choice: I haven't programmed anything since version 1.0. BasKet Note Pads has no developer anymore. Without new developers, I'm afraid the project will have to be stopped (and therefore unavailable on KDE 4).

Searching for Developers for BasKet Note Pads 2.0
The BasKet Usability Project made a lot of positive suggestions, which resulted in an ambitious roadmap for version 2.0 and more.

BasKet Note Pads 2.0 will rock even harder than 1.0: the interface will be refound do be easier to use more efficiently, and it will have tons of new features currently requested by a lot of people. Thousands of people are already pleased with BasKet Note Pads every day. Help make those people continue to be happy by developing and setting the next generation of note taking applications.

See the mockups, read the vision and roadmap...

If you are an interested developer and you know C++ and Qt (or have a strong will to learn them), send an email to the mailing list.


Statistics
Commits: 2153 by 209 developers, 4930 lines modified, 1080 new files.
Open Bugs: 13710
Open Wishes: 12648
Bugs Opened: 266 in the last 7 days.
Bugs Closed: 195 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
741
/trunk/extragear
219
/trunk/koffice
213
/trunk/l10n
202
/branches/stable
146
/trunk/playground
137
/trunk/www
132
/branches/work
96
/branches/kdepim
71
/trunk/kdereview
58
Lines Developer Commits
268
Laurent Montel
113
157
Gilles Caulier
88
600
Pradeepto Bhattacharya
63
123
Albert Astals Cid
60
143
Aaron J. Seigo
50
56
Thanomsub Noppaburana
47
116
Andreas Pakulat
46
94
Alfredo Beaumont Sainz
45
92
Thomas Zander
45
83
Adam Treat
35

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100.00%
Dutch
97.38%
Estonian
96.31%
French
93.68%
British English
87.15%
Polish
86.23%
Turkish
83.64%
Galician
85.27%
Russian
81.94%
Catalan
78.23%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Bram Schoenmakers
31
Christoph Pfister
21
Gilles Caulier
18
Thomas McGuire
17
Luboš Luňák
12
Peter Lamm
11
Tom Albers
9
Andreas Pakulat
8
Oliver Kellogg
8
Tommi Tervo
7

Program Buzz
Amarok
  4930
KMail
  3590
K3B
  3390
Kate
  3350
Kopete
  2820
KDevelop
  2644
Kicker
  1510
digiKam
  1493
Ark
  1410
KOrganizer
  1374


Person Buzz
David Faure
  824
Stephan Kulow
  544
Waldo Bastian
  414
Adriaan de Groot
  412
Troy Unrau
  392
Allen Winter
  362
Aaron J. Seigo
  354
Boudewijn Rempt
  270
George Staikos
  260
Stephan Binner
  223
Commit Countries

Commit Demographics
Sex
92.0 %       Male
7.04 %       (unknown)
0.962 %       Female
Motivation
45.2 %       Volunteer
37.5 %       (unknown)
17.2 %       Commercial
 
Ages
66.4 %       (unknown)
19.5 %       25 to 34
8.81 %       18 to 24
4.66 %       35 to 44
0.405 %       45 to 54
0.202 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*] [*]
Educational [*] [*] [*]
Graphics [*] [*] [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*] [*]
Office [*] [*] [*] [*]
Konqueror
Multimedia [*] [*] [*]
Networking Tools [*]
User Interface [*] [*]
Utilities [*] [*] [*]
Games [*] [*] [*]
Other [*]


Bug Fixes
Development Tools
Oliver Kellogg committed changes in /trunk/KDE/kdesdk/umbrello:
Apply fix_stacked_vs_tabbed_diagrams from Danny Beullens, see
http://www.geeksoc.org/~jr/umbrello/uml-devel/10234.html

Thanks for your work Danny!
Bug 98204: Switching between tabbed and non-tabbed views requires restart
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 666779

Andreas Pakulat committed a change to /branches/KDE/3.5/kdevelop/buildtools/qmake/projectconfigurationdlg.:
Fix several issues with the url requesters, they should now behave as expected.
Also includes fixes from Bernd Buschinski
Bug 145708: Relative paths are not correctly managed in the configuration dia...
Diff Revision 668071

Games