The configuration interfaces of KWin in System Settings are really old. Some of them date back to KDE 1 times (copyright of 1997) when the window manager was KWM. This has some implications about the code: all the used widgets are configured through C++ which makes it very difficult to maintain and develop the configuration modules. The user interfaces do not yet use UI files which could be easily edited with Qt Designer. That’s the main reason why the interfaces still look like they used to be in KDE 1 and 2 times.
I think it’s about time to overcome the “uuuuhh, I don’t want to touch that code” state and start to move forward. For this it would require to transform the user interfaces into UI files. This is a very easy task which does not require any programming skills. And that’s why I blog about it. This would be a great task for anyone who always wanted to contribute to KDE, but has not dared because he is not a programmer.
All it needs is to go to System Settings -> Window Behavior -> Window Behavior and create for each tab a widget in Qt Designer which looks exactly like it used to be. If we have that it’s becoming easier for us developers to extend it, to try out better interfaces without touching the code. In case you have any questions feel free to send me a mail, contact me on IRC or leave a comment on this blog.
34 Replies to “Help KWin to revamp the configuration interfaces”
May be interested in your suggestion re user interface.
Using Debian Wheezy with KDE so the version is not up to date with KDE latest. How would that effect?
Have had some programming background, but so rusty now that may as well say skill-level just rudimentary. Mostly C, C++, Pascal, a little Assembler, Cobol. Enjoyed (and still do) process of design more than coding, though.
Looked in Synaptic, only saw qtcreater 2.5.0-2. There is mention of a gui layout and forms designer in its description, which assume is the package you mentioned, or may otherwise suit purpose.
For various personal reasons, a strong possibility that may not be completely reliable, due to health and to other commitments and projects. Should still be able to contribute something.
Prefer communication via email – less “public”.
Debian Wheezy is just fine (it’s also my base system) and the package you are looking for is “qt4-designer”
Interested. I’m a full time PyQT developer (with some code in C++/QT), I can give a hand for you. Contact me 🙂
I’ll do that. Gime me ~20min
I should blog more often about such tasks, if they always get solved that fast 🙂
I just did the first tab: https://www.dropbox.com/s/yosvjqwjaun99v2/tab_focus.ui
Give me a few more minutes for the other ones 😉
could you put the elements into a proper layout? Don’t use so many spacers – layouts like the form layout can handle that quite good and that helps scaling the items and also supports right-to-left languages.
Here’s the entire folder where I’ll be uploading the ui files: https://www.dropbox.com/sh/2aa64l8lizfqcmf/HWxaD5_T0i
try to use less spacers, normally you don’t need them. Also try to directly integrate the correct wording from the existing dialogs. The less change we need the higher the chance we’ll use those 🙂
Oh, ok, I’ll use less spacers (they are so handy that sometimes I abuse the use of them…)
I’ll translate all the labels too 😉
don’t translate. It needs to be exactly the same wording as the existing interfaces to make the life for the translators easier. If it changes the translators get notified and internal changes (C++ to UI) should not cause work for others 🙂 Best is to get the code and copy and paste the wording.
You meen the object’s names?
not the object’s names, the text, tooltip and what’s this. All those should not change. That’s why it’s important to not translate them.
I reduced the use of spacers in the “moving” tab, have a look please.
have a look at http://ur1.ca/a3ahz what I made out of it.
have a look at this http://forum.kde.org/viewtopic.php?f=83&t=96374&sid=897c0660c097dcf3c4ef97284c841602 🙂
no need to say that system settings modules as a whole urge a coherent refactoring..
That’s weird, I see the exactly same thing using both links :s
But yeah, I give a +1 for what I see in there. There’s no consistency in system settings.
Maybe I can do those too 🙂
Martin, is there a TODO list of the missing UIs? So we don’t risk to spend time for nothing 🙂
no, not yet, but it’s a good idea
There is also some visionary thing in design System Settings.
Here : http://forum.kde.org/viewtopic.php?f=226&t=101206
but unfortunately no programming skills to implement them.
it would be nice if anyone can help porting current system settings to new design.
Check out this redo of the “Window Actions” tab: http://ur1.ca/a3ait
very good. I only have one suggestion: use also a form layout for the first group box, that would add I hope more consistency between the two groups as you already use a form layout in the second group.
I did that originally, but I changed it hoping to match better with the existing code. Fixed now. 😉
yes in the existing code it’s like that, but yeah not everything in the existing code is perfect (given that it is annoying to change such things in C++)
Ok, I think I’m done with all of them 🙂
Have a look here: https://www.dropbox.com/sh/2aa64l8lizfqcmf/HWxaD5_T0i
Are this good Martin?
cool, I just had a look at them and there are only a few more comments I have 🙂 (Yes, I know I’m terrible about that)
But overall really awesome and much thanks for it.
It isn’t my work.
I was just wondering if “alexandrst” finished it the way you wanted, if not I was planning to reserve some time to do it.
But now I see “Alexander Jones” has another solution…
If it’s not good I can take some time to make it just the way you want it or has to be.
thanks for the offer, but I think we have now quite some good results. I am so satisfied with this “experiment” that I will put up a few other tasks very soon.
Sorry for not answering earlier, I just read the new comments.
Do you want me to *fix* the things you said in the last comment or “Alexander Jones”‘s solution has them already?
I have not yet evaluated all forms. I guess I will try to take some forms from each submission. I’ll probably contact you in private.
My version is located here: http://happy5214.no-ip.org/dev/kde/kcmkwin/
I might have the slight advantage of being able to read C++ code. 😉 Anyway, I added the “What’s This?” texts from master, as well as using the variable names from the source. I tried to add everything but the pixmaps.
Comments are closed.