Projects/Plasma/Tasks: Difference between revisions

From KDE TechBase
No edit summary
 
(129 intermediate revisions by 12 users not shown)
Line 1: Line 1:
'''This page is referring to the meeting of 21/02/2006'''
{{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.}}


'''''NOTE: THIS IS STILL WORK IN PROGRESS! DON'T TRUST THIS PAGE TOO MUCH!'''''


'''''AND AGAIN, PLEASE, DO NOT MODIFY THIS PAGE!!!'''''
= Tasks =
Just put your name (or nickname) in brackets near the task you want to claim.
This will avoid duplication of work. Thanks! =)


== Tasks ==


== What happened in the meeting ==
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.
This wants to be just a short resume on what happened in the first meeting (21-02-2006)


First thing, Aaron explained us what is his idea of Plasma and why he arrived there. Especially, he said that: «we need an amarok of the desktop so people go "oh. -that's- why"».  
And, of course, this will avoid duplication of work. Thanks a lot! =)


For those still not familiar with this concept, he explained also that everything will be "a widget (or, as somehow caught on, "plasmoid")... from the launcher buttons to full on widgets and mini-apps"
{{note|This is not meant to be a replacement for the feature list on the [[Schedules|release schedules pages]], but rather a place to record things that aren't there.}}
Especially, the desktop won't be centered anymore on displaying the content of a folder. This will still remain availeable though, you will be able to do a full-screen plasmoid that shows the content of a certain folder. ;-)


After that, we started the discussion on what needs to be done. The first thing is to get all the essential components that still are in KDesktop been moved away. So, we are at a good point in this, because everything but the autostart stuff has been moved into KRunner. KRunner is a new application for KDE 4 that will manage the screensaver, will show a task list (like the windows' key combo Ctrl+Alt+Del), will provide a run dialog and manage app startup notification.
KRunner will be a standalone app that will register global keycombos and show things as-needed.


The autostart stuff should probably be merged in ksmserver (it makes much more sense there), and be unique (right now there are ~/.kde/Autostart and ~/.kde/share/Autostart).
=== KRunner ===


After having the old desktop killed, we will work on a replacement, Aaron said, and this means working on two separate parts: zooming and containers and efficient widgets.


Using or not QGraphicsView is a major concern right now, but we concluded that probably the final decision about what to use has to be delayed to the next meeting, or to the end of march at most, after having checked with the TT guys about whether it's possible to have a performant QGraphicsView for zooming in Qt 4.3 or not. In case the answer is not, we will implement it, modifying the existing engine. It seems that we all agree on the fact that we'd love to use QGraphicsView, altough it's a tricky decision to take right now. We decided to use it until the end of march and then see if it's still possible to continue using it.
==== Runners ====
* runners, runners and more runners!


It will also be really nice to make it capable of embedding widgets. It shouldn't be difficult to implement, but there is still no code for that.
==== Interface ====
We will probably also need to create our own set of high-performant widgets, to enable really fast zooming. For example, the text can disappear, or we could not redraw the widget while the zoom factor remains under 0.75...
* improve paging
The widgets we will need are:
* nicer user switcher
* A label
* A button
* An svg visualizer
* An html widget
* A lineedit/textedit


We still need to concretely define which optimisations can be done for _each_ widget, and then we will be able to actually write them.
==== Misc ====


Then we talked about visualization, and we briefly decided to use some of the Zack's phisical equations [[http://ktown.kde.org/~zrusin/examples/box2d.tar.bz2|1]][[http://ktown.kde.org/~zrusin/examples/blobs.tar.bz2|2]] to make the best animation possible. Aaron stated that we're ok as long as we don't run the physics engine continuously, otherwise it tends to burn CPU cycles.
=== Plasma ===


'''Ok, now let's concretize all the stuff said above and put them in a sort of TODO:'''
* '''Documentation'''
** design docs coverage (workspace/plasma/design/)
** Techbase tutorials for:
*** Wallpaper plugins
*** Containments
*** DataEngine
*** Service
*** Theming
** website overhaul
* '''General libplasma'''
** more unit tests.


== New tasks popped out in the meeting ==
* '''Plasma::Applet'''
''First, let's kill the last bits of KDesktop still there:''
** add global settings config page, if it exists in the Package (which means adding a pair of entries in packages.cpp for globalconfigui and globalconfigxml), alongside the per-applet ones
* Put the autostart functionality from KDesktop to ksmserver.
** a way to access resources for customization (think: clock faces)
* Merge the functionalities of ~/.kde/Autostart with ~/.kde/share/autostart
* Complete runner classes in krunner
* Integrate ksysguard's process table into krunner


''Then, this is what we want to implement:''
* '''Corona''' (QGraphicsScene subclass)
* What plasma will be able to do/what we do want from it:
** Use a widget able to have background painting.
** Implement the zooming of objects.
** Implement the grouping of objects in collections (with special containers).


''And after that, see what can be done for performances:''
* '''Views'''
* See if QGV works well for ↑ (Unicode char for ^, arrow up). We will use it until the end of march, then we will see how it worked. We will evaluate alternatives then (if not enough satisfied).
* Create widgets aware of zooming. First we need to discuss what can be done for each of these elements. Needed widgets are:
** [[/Label|A label]]
** [[/Button|A button]]
** [[/SVGViewer|An svg viewer]]
** [[/HTMLViewer|An html widget]]
** [[/Lineedit|A lineedit/textedit]] (does it already exists?)
Before actually coding them we should first define the speed compromizes we want/can have for all of them. We will probably discuss it in the next meeting, and what we want for each of those widgets will be written in their specific pages. Then we can start to actually code it. If you have ideas, please write it in the specific page.


''We also have:''
* '''Widgets''' [[../Widgets|Here is a page describing the nature of these widgets]]. Widgets still needed that aren't implemented yet are:
* Implement Zack's pyisical equations for animations


= Transcript =
* '''DataEngine'''


The transcript of the meeting is available [http://giannaros.org/kde/logs/Plasma_Meeting_2007-02-21.log here]; or, alternatively you can view it in HTML [http://giannaros.org/kde/logs/Plasma_Meeting_2007-02-21.log.html here].
* '''Applets'''
** Welcome
*** offer quick access to a few starting points including: documentation, the online community, kde tips, configuration, etc.
*** each button should show a little help text when clicked along with some links/buttons that the user can click on to go somewhere.
*** have an area on it that allows one to enter or create an openid account.
*** see [[Projects/Plasma/Welcome]] and [http://bddf.ca/~aseigo/welcometokde4.png this image]
** Timeline

Latest revision as of 20:59, 4 January 2010

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 not meant to be a replacement for the feature list on the release schedules pages, but rather a place to record things that aren't there.


KRunner

Runners

  • runners, runners and more runners!

Interface

  • improve paging
  • nicer user switcher

Misc

Plasma

  • Documentation
    • design docs coverage (workspace/plasma/design/)
    • Techbase tutorials for:
      • Wallpaper plugins
      • Containments
      • DataEngine
      • Service
      • Theming
    • website overhaul
  • General libplasma
    • more unit tests.
  • Plasma::Applet
    • add global settings config page, if it exists in the Package (which means adding a pair of entries in packages.cpp for globalconfigui and globalconfigxml), alongside the per-applet ones
    • a way to access resources for customization (think: clock faces)
  • Corona (QGraphicsScene subclass)
  • Views
  • DataEngine
  • Applets
    • Welcome
      • offer quick access to a few starting points including: documentation, the online community, kde tips, configuration, etc.
      • each button should show a little help text when clicked along with some links/buttons that the user can click on to go somewhere.
      • have an area on it that allows one to enter or create an openid account.
      • see Projects/Plasma/Welcome and this image
    • Timeline