Projects/Plasma/Tasks

From KDE TechBase
Warning
If you clear a task, please write "Completed" near it. If you are still working on it, please put your name. Percentage of the work done is accepted.


Tasks

If you want to claim a task, please put your name (or nickname, both is better) in brackets near the task you wish to claim. Please add it when you start working on it, and if you stop, please remove it, so we can know "who is working on what" and what tasks still needs to be started.

And, of course, this will avoid duplication of work. Thanks a lot! =)

Note
This is a roughly sorted list of tasks that popped out during the meeting. We probably need to categorize it better, like seeing which task is blocker for which other, setting priority, split between "research" and "coding" and things like that. Still sounds like a premature thing though.



KRunner

Major Bugs

None! =)

Runners

  • pull in options from kdesktop/minicli.cpp and merge into shell and app runners
  • ServiceRunner: better matching (case insensitivity, substring matching, performance, etc)
  • CalculatorRunner: complete (Baris)
  • Search Runner: use strigi
  • listen to async match updates (Interface:updateMatches())
  • determine how to order runner plugins for searching; categorization?
  • runners, runners and more runners! e.g. a kalkhi plugin...?

Interface

  • abstract out the svg background part of Interface and have it subclass QDialog; then make screensaver/lock dialogs subclass that and therefore look a bit more sexy and consistent (Baris)
  • options slide drawer animation

Misc

Plasma

This is what we are focusing on implementing right now:

  • general libplasma
    • unit tests.
    • api documentation reviews
    • XML Config: add support for unsupported data types (these are documented in the API docu)
    • layout code improvements (HuntsMan)
    • Applet needs a way to access resources for customization (think: clock faces)
  • plasmagik
    • Basic classes are in (Package, PackageMetadata, Packager and PackageStructure)! =)
    • unit tests
    • use it to access applet resources
  • bindings
    • QtScript bindings are being worked on
    • need to re-evaluate the place of KRoss in the all of this
  • RootWidget (the "desktop")
    • Controls box: an expand-on-mouse-over widget that sits on top of the graphicsview and provides discoverable access to zooming, jumping, configuration, adding of elements, locking ...? Currently needs to pretty-fied and the more "techie" options removed
  • Corona (QGraphicsScene subclass)
    • Item groups: a container to group items (mostly applets, really) and handle layouting and level of detail
    • Zooming: 3-level zooming needs to be supported. 100% == 1 item group at full zoom; 50% == all item groups visible with panning with each item replaced by a simple icon; 10% == all item groups visible without panning, each group replaced by a simple icon and items not painted at all
    • Saving and loading of layouts (Alexis)
    • The concept of form factor needs to move out of Corona and into the item group class
  • Views
    • Currently there is DesktopView which is, somewhat obviously, the desktop view onto the Corona
    • Implement configurable background painting. This can in part be ported from kdesktop for DesktopView. Should be plugin based.
    • Create a panel view
    • Create a dashboard view (full screen, always on top)
  • DataEngine
    • Configuration parameters for sources


  • Applets
    • application launcher interface
    • taskbar (robert knight; others welcome to help)
    • systray


We also have:

  • Implement Zack's physical equations for animations

Nice to have:

  • Implement python bindings of Plasma