KWin always needs helping hands and we would like to welcome you. You don't have to be a developer to support our efforts. You can find us in channel #kwin on freenode or send us a mail to [email protected] This document lists a few ideas how you can help KWin - either as a developer or in other areas.
The best place to start is by reading KWin/Hacking. It documents quite a bit of KWin and how to develop on it. If you are looking for specific tasks check out KWin/Ideas which lists some development tasks. Also in our bugtracker you can find some tasks. The things we want to have done in the next release are marked with an appropriate "Target Milestone". Before starting to work on a task please check with the developers as we can give some suggestions and check whether someone is already working on it.
A lot of bugs get created against KWin and everybody can help to "triage" them. Some general notes about bug triaging can be found in the Guide to Bug Triaging. For KWin specific you can find the available components listed in KWin/Bugzilla. What's most needed is to identify the "real" bugs from the user support questions. That is reproducing bugs and marking them as those. Best start with the unconfirmed, general bugs.
On forums.kde.org there is a forum for KWin. Many users will benefit from your expertise and KWin, so help them :-)
End User Documentation
Most of KWin's end user documentation is outdated and hardly anything is available in Userbase. This should be completely reordered and redesigned.
Many of KWin's configuration modules are from a time before there were .ui files and the modules are hard coded. For improving the maintainability of the configuration modules it would be great if those could be redisgned with Qt Designer. No developer knowledge is required, the modules would be integrated by the core developers.
Quite some parts of KWin can be styled using Qt Quick. Any mockups for further and better user interfaces are highly appreciated.
KWin is a window manager under constant development. Of course proper testing is quite important. If you find issues report them in the bugtracker and add the keyword "regression".
In the bugtracker there are also some non-development tasks documented. Please add a comment to the report if you need further information