Plasma Roadmap Update

December 29th, 2005 at 12:49 pm (KDE)

With all the buzz in the air about the exciting future of KDE4. I decided to take a moment to post a status update on what is left to be done in order to bring Plasma onto the Linux desktop and how YOU can help!

The SVN Roadmap

Inside the trunk/kdebase/kicker directory of the KDE SVN repository is a file called TODO_KDE4 that sheds some light on where we are in the roadmap. For simplicity I have duplicated it in HTML below:

Itemized list of works need to be done in kicker for KDE4 porting and Plasma framework.

Abbreviations:
Accomplished
In progress
Not started yet
  • ?
Not determined

Work:

  • Port kicker to KDE4/Qt4
    • Get kicker/libkicker building (minimal port)
    • Get applets, extensions and menuext building
    • Move KPanel* classes from kdelibs/kdeui to libkicker
    • Qt4-ize kicker (remove remaining Qt3* classes)
    • Make the kicker actually run
  • Create Plasma libraries (for applets and extentions)
    • Decide what to offer to applets
      • Split libkicker to become libplasma and libplasmaext
      • Wrappers for common needs (like an html widget)
    • Harmonize with superkaramba’s library
    • Decide and implement graphics framework
    • Create bindings for libplasma
    • Revisit KPanel* classes
      • Tie the KConfigXT settings into these classes
      • Move hiding/etc code from ContainerExtension to KPanelExtension
      • Rethink placement code
      • Allow for Extentions to communicate the form factor to contained items
      • Allow applets to adapt to various form factors with as little code as possible
  • Extend kicker to become the plasma manager

    • Make plugin, etc. management classes ready for plasma
    • Revisit Container* classes
    • Removal of cruft
  • Implement desktop widgets
    • Subclass KPanelExtension
    • Start working on a layout and positioning scheme
    • Decide on the requirements
      (must be easy, must allow autopositioning/growing of applets, etc.)
  • Implement new Plasma elements
    • Revisit kickertip to make it better
    • Agree on a list and overall architecture of the required elements
      • Extenders
      • New buttons
      • New applet management UI (handles on panels, $SOMETHING on the destop)
      • ? Interoperability of applets over the network
  • Use new Plasma library in applets and extentions
    • Port existing applets and extentions
    • Create new noteworthy applets and extentions ;)
  • ? Build an applet creator/studio for packaging JS/Ruby/Python applets
  • Provide a development framework
    • Test suite
    • Documentation standards
      • Diagrams of plasma structure
      • API documents for libplasma
      • Applet development tutorial

How to Help

The best way you can help right now is by setting up a kdesvn-build environment of KDE4 (see the guides here and here. Once you are all setup and have a working build, try to find some QT3 cruft to remove with a command like “find ./kdebase -name “*.c*” -exec grep -H Q3 {} \; | grep -v svn”. Once you port the old syntax to QT4 (see this guide) do an “svn diff” and post it to the kde-core-devel mailing list. Have fun!

del.icio.us | Digg | Facebook | StumbleUpon

Post a Comment

You must bee logged in to post a comment.