Projects/Plasma/Tasks: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''This page is referring to the meeting of 21/02/2006''' | '''This page is referring to the meeting of 21/02/2006''' | ||
= Tasks = | = Tasks = | ||
Line 9: | Line 5: | ||
This wants to be just a short resume on what happened in the first meeting (21-02-2006) | This wants to be just a short resume on what happened in the first meeting (21-02-2006) | ||
First thing, Aaron explained us what his idea of Plasma is and why he arrived there. Especially, he said that: | First thing, Aaron explained us what his idea of Plasma is and why he arrived there. Especially, he said that: ''«we need an amarok of the desktop so people go "oh. -that's- why"».'' | ||
For those still not familiar with this concept, he explained | For those still not familiar with this concept, he also explained that everything will be ''«a widget (or, as somehow caught on, a "plasmoid")... from the launcher buttons to full on widgets and mini-apps»'' | ||
Especially, the desktop won't be centered anymore on displaying the content of a folder. This will | Especially, the desktop won't be centered anymore on displaying the content of a folder. This will remain available though, everyone will still 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 to do is to get all the essential components that still are in KDesktop been moved away. We are at a good point at this, because everything but the autostart stuff has been moved into KRunner. | After that, we started the discussion on what needs to be done. The first thing to do is to get all the essential components that still are in KDesktop been moved away. We are at a good point at this, because everything but the autostart stuff has already been moved into KRunner. | ||
KRunner is a new application for KDE 4, created to replace some KDesktop | KRunner is a new application for KDE 4, created to replace some of the KDesktop functionality, that will manage the screensaver, that will show a task list when needed (like the windows' key combo Ctrl+Alt+Del), that will provide a run dialog and that will manage app startup notification. | ||
KRunner will be a standalone app that will register global shortcuts and will show things on-demand. | KRunner will be a standalone app that will register global shortcuts and will show things on-demand. | ||
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). | 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). | ||
After having the old desktop killed, we will work on a replacement, and this | After having the old desktop killed, we will work on a replacement, and this has three separate needs: we should use a widget that supports background painting (the wallpaper), we should support zooming and the possibility to have containers, and we need to create efficient widgets (zoom aware, e.g.). | ||
Using or not QGraphicsView is a major concern right now, but we concluded that probably the final decision on what to use has to be delayed to the next meeting, or, at most, to the end of march. We need to get in touch with the TT guys and see whether is possible to have a performant QGraphicsView for zooming in Qt 4.3 or not. In case the answer will be not, we will | Using or not QGraphicsView is a major concern right now, but we concluded that probably the final decision on what to use has to be delayed to the next meeting, or, at most, to the end of march. We need to get in touch with the TT guys and see whether is possible to have a performant QGraphicsView for zooming in Qt 4.3 or not. In case the answer will be not, we will create a new class adapted for our needs, 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 make use of it until the end of march, and then we'll see if performances still make possible to continue using it. | ||
It will also be really nice to make QGraphicsView capable of embedding widgets. It shouldn't be a very difficult thing to implement, but actually there is still no support for that. :-( | |||
We will probably also need to create our own set of high-performant widgets, to enable really fast zooming and animations. For example, the text can disappear while zooming, or we could not redraw the widget while the zoom factor remains under 0.75... or something like that. | We will probably also need to create our own set of high-performant widgets, to enable really fast zooming and animations. For example, the text can disappear while zooming, or we could not redraw the widget while the zoom factor remains under 0.75... or something like that. | ||
Anyway, the widgets we will need should be: | Anyway, the widgets we will need should be: | ||
Line 34: | Line 31: | ||
* A lineedit/textedit | * 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. | We still need to concretely define which optimisations can be done for _each_ widget, and then we will be able to actually write the code for them. | ||
Then we talked about visualization, and we decided to make use of some of 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 animation the best (and less boring) possible. Aaron also stated that we're ok as long as we don't run the physics engine continuously, otherwise it tends to burn CPU cycles. | '''ADD:''' wirr just told me that lineedits, labels, and an HTML widget are already there in the QGV version of SuperKaramba. Have a look! | ||
Then we talked about visualization and the engine, and we decided to make use of some of 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 animation the best (and less boring) possible. Aaron also stated that we're ok as long as we don't run the physics engine continuously, otherwise it tends to burn CPU cycles. | |||
Aaron smacked his gavel on the desk at 20:54:45 CET, putting the word 'end' to the first plasma meeting. It lasted 1 hr 49 min and 53 secs. | Aaron smacked his gavel on the desk at 20:54:45 CET, putting the word 'end' to the first plasma meeting. It lasted 1 hr 49 min and 53 secs. | ||
Line 49: | Line 48: | ||
== New tasks popped out during the meeting == | == New tasks popped out during 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 | 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 beginned. | ||
And, of course, this will avoid duplication of work. Thanks a lot! =) | 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. | '''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. | ||
''First, let's kill the last bits of KDesktop still there:'' | ''First, let's kill the last bits of KDesktop still there:'' | ||
* | * Move the autostart functionality from KDesktop to ksmserver. ('''Stephan Kulow, coolo''') | ||
* Merge the functionalities of ~/.kde/Autostart with ~/.kde/share/autostart (Stephan Kulow, coolo) | * Merge the functionalities of ~/.kde/Autostart with ~/.kde/share/autostart ('''Stephan Kulow, coolo''') | ||
* Complete runner classes in KRunner | * Complete runner classes in KRunner | ||
* Integrate ksysguard's process table into KRunner (Riccardo Iaconelli, ruphy | * Integrate ksysguard's process table into KRunner ('''Riccardo Iaconelli, ruphy''' - '''esben''') | ||
''Then, this is what we want to implement:'' | ''Then, this is what we want to implement:'' | ||
Line 67: | Line 67: | ||
''And after that, see what can be done for performances:'' | ''And after that, see what can be done for performances:'' | ||
* Research on engines. (Aaron J. Seigo, aseigo) | * Research on engines. ('''Aaron J. Seigo, aseigo''') | ||
* See if QGV works well for | * See if QGV works well for our needs. 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). ('''Aaron J. Seigo, aseigo?''') | ||
* Create widgets aware of zooming. First we need to discuss what can be done for each of these elements. Needed widgets are: | * 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]] | ** [[/Label|A label]] | ||
Line 78: | Line 78: | ||
''We also have:'' | ''We also have:'' | ||
* Implement Zack's pyisical equations for animations (ervin?) | * Implement Zack's pyisical equations for animations ('''ervin?''') | ||
= Transcript = | = Transcript = | ||
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]. | 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]. |
Revision as of 15:04, 22 February 2007
This page is referring to the meeting of 21/02/2006
Tasks
What happened during the meeting
This wants to be just a short resume on what happened in the first meeting (21-02-2006)
First thing, Aaron explained us what his idea of Plasma is and why he arrived there. Especially, he said that: «we need an amarok of the desktop so people go "oh. -that's- why"».
For those still not familiar with this concept, he also explained that everything will be «a widget (or, as somehow caught on, a "plasmoid")... from the launcher buttons to full on widgets and mini-apps» Especially, the desktop won't be centered anymore on displaying the content of a folder. This will remain available though, everyone will still 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 to do is to get all the essential components that still are in KDesktop been moved away. We are at a good point at this, because everything but the autostart stuff has already been moved into KRunner.
KRunner is a new application for KDE 4, created to replace some of the KDesktop functionality, that will manage the screensaver, that will show a task list when needed (like the windows' key combo Ctrl+Alt+Del), that will provide a run dialog and that will manage app startup notification. KRunner will be a standalone app that will register global shortcuts and will show things on-demand.
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).
After having the old desktop killed, we will work on a replacement, and this has three separate needs: we should use a widget that supports background painting (the wallpaper), we should support zooming and the possibility to have containers, and we need to create efficient widgets (zoom aware, e.g.).
Using or not QGraphicsView is a major concern right now, but we concluded that probably the final decision on what to use has to be delayed to the next meeting, or, at most, to the end of march. We need to get in touch with the TT guys and see whether is possible to have a performant QGraphicsView for zooming in Qt 4.3 or not. In case the answer will be not, we will create a new class adapted for our needs, 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 make use of it until the end of march, and then we'll see if performances still make possible to continue using it.
It will also be really nice to make QGraphicsView capable of embedding widgets. It shouldn't be a very difficult thing to implement, but actually there is still no support for that. :-(
We will probably also need to create our own set of high-performant widgets, to enable really fast zooming and animations. For example, the text can disappear while zooming, or we could not redraw the widget while the zoom factor remains under 0.75... or something like that. Anyway, the widgets we will need should be:
- A label
- A button
- An svg viewer
- 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 the code for them.
ADD: wirr just told me that lineedits, labels, and an HTML widget are already there in the QGV version of SuperKaramba. Have a look!
Then we talked about visualization and the engine, and we decided to make use of some of Zack's phisical equations (1, 2) to make the animation the best (and less boring) possible. Aaron also stated that we're ok as long as we don't run the physics engine continuously, otherwise it tends to burn CPU cycles.
Aaron smacked his gavel on the desk at 20:54:45 CET, putting the word 'end' to the first plasma meeting. It lasted 1 hr 49 min and 53 secs.
Next meeting should be next week, same time. The topic will be (mainly):
- Engines update
- Scripting (Kross, QtScript, etc...)
- Plasmoids
Ok, now let's concretize all the stuff said above and put them in a sort of TODO:
New tasks popped out during 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 beginned.
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.
First, let's kill the last bits of KDesktop still there:
- Move the autostart functionality from KDesktop to ksmserver. (Stephan Kulow, coolo)
- Merge the functionalities of ~/.kde/Autostart with ~/.kde/share/autostart (Stephan Kulow, coolo)
- Complete runner classes in KRunner
- Integrate ksysguard's process table into KRunner (Riccardo Iaconelli, ruphy - esben)
Then, this is what we want to implement:
- 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:
- Research on engines. (Aaron J. Seigo, aseigo)
- See if QGV works well for our needs. 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). (Aaron J. Seigo, aseigo?)
- Create widgets aware of zooming. First we need to discuss what can be done for each of these elements. Needed widgets are:
- A label
- A button
- An svg viewer
- An html widget
- 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:
- Implement Zack's pyisical equations for animations (ervin?)
Transcript
The transcript of the meeting is available here; or, alternatively you can view it in HTML here.