1. The first thing I like to do is push out a 0.3.4 release. (This week) 2. Some important changes to how plugins do window animations needs to be done. There's currently one representation of each window and plugins do simple animations like move and scale by manipulating this window object. This can easily cause conflicts between plugins and a lot of care needs to be taken to make sure that this doesn't happen. By making plugins avoid manipulation of window objects, it will get a lot less complex and a lot of issues that's been hard to track down and fix will no longer exist. I have a pretty good plan for how to do this and I'll start working on it as soon as the 0.3.4 release is out. 3. Plugins should keep references to CompTexture objects while performing animations. Proper design of point 2 will make it easy to adjust plugins for this. It will make animations of windows that are unmapped and destroyed less complex. 4. Notification functions for state changes like minimize, unminimize, maximize, shade and so on should be added. Will remove a lot of complexity from plugins. Nothing too exciting so far. Mostly about removing complexity and making things simpler. However, redesigning and making things less complex is important for stability and making sure that compiz scales as more features are added. 5. KDE decorator that supports kwin plugins. 6. Software cursor. I want compiz to draw the cursor. The hardware cursor in the server isn't that useful, it's much better to have compiz do a software cursor as part of the compositing. Gives us flicker free cursor updates and allows us to do a lot of other interesting stuff. It will require some minor changes to the server but I've already done some experimenting with this and it seems to be working very well. 7. A pluggable shader interface that will allow different plugins to plug in to different parts of the fragment shading. E.g. we can have one plugin that is doing some parallax mapping, another one that performs some advanced scaling algorithm for accessibility purposes and one plugin that blends the result with blurred destination fragments all working at the same time. The plugins should only have to provide shader code for their specific part and this shader interface will build and cache appropriate shaders/fragment programs. 8. The desktop window that most desktop environments are using is taking up a lot of resources. Integrating that better into compiz would both allow us to save resources and do some nice background effects. I discussed this briefly with Kristian H?gsberg and Alexander Larsson at the gnome summit earlier this year. Creating a desktop plugin and getting a demo program that uses the same interface as the decorator shouldn't be very hard. And we'll see where to go from there. 9. Input transformations. This will require some changes to the core and some of the plugins. I think that most of it is going to be pretty easy to get done. However, I don't see any point in doing anything until we actually have input transformation support in the server, we should just keep in mind that this is something that is going to be added sometime soon. I'll try to get the first 4 points done asap. 5-9 doesn't have to be done in any specific order, they can all be done at the same time and anyone who likes to start working on any of those things should do so. I'll probably come up with more things that I think needs to be done but I'll keep the list and the web-site updated. -David