Help KWin to maintain the Effect Configurations

Last week I asked for help for some non coding tasks and I was positively surprised by the feedback. Thanks a lot, this community just rocks. By the way there are always possibilities to contribute to KDE, for example we are still looking for about 5,000 EUR to finance the very important Randa Sprint.

Given the great result of last weeks experiment I decided to try to setup another task again. This time I want to ensure that people do not work on the same tasks, so I setup a project wiki page to claim the task one is working on.

So what is it about: the configuration interfaces of the KWin Effects are written more or less manually. That is the logic to load, save, set to default of configuration values is written in the code. But KDE supports a great framework called KConfigXT which does all of this automatically. All it needs is to describe the configuration options in an XML file containing the name of an option, the type and the default value. All these information are already present in the current implementation. So it’s just taking the values and bringing them into another format.

The advantage is that we can use that XML description to generate code to be used in the Effect and the configuration. This ensures that typos do not introduce bugs, but also it removes quite some boilerplate code copied in each configuration module. Last but not least it allows us to think about new ways to do the configuration if we ever want to.

So please grab one of the 22 remaining effects to port. I already did the port of the Translucency Effect as an example on how to do it. It’s really not a difficult task and it is very important for the maintenance of KWin. The wiki page includes detailed instructions on how to perform such a task.

12 Replies to “Help KWin to maintain the Effect Configurations”

  1. Hi Martin,
    I like very much your idea to include the Community in that way, I hope you keep it up!
    I’ll greo one effect this evening, hope there will be some left 🙂

  2. I Think thats the best way to get participant. Define an exact, little task, thats easy even with little skills. This way it is easy to get into it.

  3. I too enjoy these KWin posts; they are easy to digest and give lots of useful information. They also provide info on just how much work goes into giving us all the benefits of KWin.

    I had never given it much thought until I read Martins blog (Sept 7th) about KWin Scripts and he mentioned “The only user visible place where the name “KWin” is written is the crash dialog”

    That is so true .

  4. Having problems making the patch file.
    I did “git diff –no-prefix > lilianmoraru_revision1” and it did create the patch showing the differences but the newly added files don’t appear there.
    I did “git add [thefiles]” and then “git commit -m “[a message]””.
    Executing the git diff command again and the same result.
    Can you help me please with that one?

  5. To claim a task I just have to click on “Edit” button in that page and add my mail on the task line?


      1. A little help: in LookingGlass there is a case not covered in translucency example: it’s m_ui->editor (it should handle shortcuts changes). What I have to do with it? Leave untouched? Remove it? (f.i., it is in LookingGlassEffectConfig::defaults(), function that in translucency example was removed).


Comments are closed.