Hi LXDE and Razor developers,

back when Razor was still its own project (again congrats on seeing what you 
share and deciding to work together!) I had the idea of making KWin more 
attractive for non KDE Plasma based desktop environments. For our 4.10 release 
I provided a patch to get a stand-alone and trimmed down version of our window 
manager. I don't want to re-iterate myself, so just check the thread on the 
razor mailing list [1] :-)

In the meantime we had our 4.11 release and I recently rebased the patch to 
this branch. You can find it in [2]. This is our last release based on Qt 4 and 
by that probably also the last time I have to do this (we might split repos).

And with that we can look into the future. We are currently working on the 
port to Qt 5 and KF 5 and it looks quite good already. Good enough that I feel 
confident to write to you.

With KF 5 our dependencies go down significantly. Instead of a generic linkage 
to kdelibs we can now link just the few pieces we actually need. I started to 
document our current library dependency in [3]. As you can see it's not a lot 
more than one would expect from an X11 (and Wayland) window manager and 
compositor.

And I have some ideas to make KWin even more attractive. I want to advice 
distributions to split KWin into three packages:
* KWin core
* KWin Plasma Desktop Integration
* KWin configuration modules

The idea is that KWin core contains the bare window manager and compositor. 
This should only depend on KF 5 tier 1 and tier 2 libraries. This is 
completely without UI (except window decorations but those are plugins 
anyway).

All our UI is done in QML currently using Plasma components. That will 
probably not change for our next version - after all we have enough porting to 
do ;-) But hardly any of the QML files are hard coded. Most are loaded through 
a plugin mechanism at runtime which allows to easily replace them. And this 
allows to just move all of them into an "integration" package and have another 
integration package for other desktop environments.

The third part are our config modules. KWin doesn't have configuration 
interfaces built in but uses out-of-process UIs. Those configuration modules 
just modify our config file and send a DBus signal to inform all running KWin 
instances to reload the config. With this mechanism it's again not very 
difficult 
to provide config interfaces more specific to a desktop environment and also to 
provide a "trimmed down" config. That's what we do for our Plasma Active shell: 
KWin doesn't have any configuration interfaces there as the chance to destroy 
it due to bad settings is too high.

If you have any specific questions or suggestions on what we should do to have 
a well integrated KWin into LXDE/Razor please let me know. At the moment it's 
the best time to draft plans for the future before too much adjustments have 
been done. Please also provide some feedback on the idea of splitting KWin 
into several packages. It's the first time that I'm sharing this idea.

Oh and just as a reminder: if you need any X11 specific Qt code please check 
what we have. Especially KWindowSystems might provide quite some nice and 
useful additions. Also things like our libtaskmanager might be useful. Getting 
X right can be quite annoying and some parts of our code base have 15 years of 
fighting X experience ;-) The code is there ready to be used.

Best Regards
Martin Gräßlin
KWin maintainer

[1] https://groups.google.com/d/topic/razor-qt/5LI_BxBewPU/discussion
[2] 
http://quickgit.kde.org/?p=clones%2Fkde-workspace%2Fgraesslin%2Fkde-workspace.git&a=commit&h=2d031dfda7581476857bf92df7da28f5f35f8e03
[3] https://community.kde.org/KWin/Dependencies

Attachment: signature.asc
Description: This is a digitally signed message part.

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Lxde-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lxde-list

Reply via email to