kwin/decorations
Martin Flöser 054d923411 Move SceneXRender into a plugin
Summary:
First step for loading the compositor Scenes through plugins. The general
idea is that we currently needlessly pull in all the Scenes although only
one will be used.

E.g. on X11 we pull in QPainter, although they are not compatible. On
Wayland we pull in XRender although they are not compatible.

Furthermore our current Scene creation strategy is not really fault
tolerant and can create situations where we don't get a compositor. E.g
on fbdev backend the default settings won't work as it does not support
OpenGL.

Long term I want to tackle those conceptional problems together:
we try to load all plugins supported by the current platform till we have
a scene which works. Thus on Wayland we don't end up in a situation where
we don't have a working compositor because the configuration is bad.

To make this possible the switch statement in the Scene needs to go and
needs to be replaced by a for loop iterating over all the available
scenes on the platform. If we go there it makes sense to replace it
directly with a plugin based approach.

So this is a change which tackles the problem by first introducing the
plugin loading. The xrender based scene (as it's the most simple one)
is moved into a plugin. It is first tried to find a scene plugin and only
if there is none the existing code is used.

Test Plan: Tested all scenes

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D7232
2017-09-01 17:42:28 +02:00
..
decoratedclient.cpp Replace Workspace::slotWindowQuickTileFoo by a quickTileWindow with argument 2017-07-29 17:40:03 +02:00
decoratedclient.h Restore global menu support 2017-01-11 10:21:03 +01:00
decorationbridge.cpp Add an explicit dependency to Breeze to find decoration plugin 2016-04-12 08:54:50 +02:00
decorationbridge.h DecorationBridge creates Decoration for AbstractClient 2015-12-18 16:41:49 +01:00
decorationpalette.cpp
decorationpalette.h
decorationrenderer.cpp
decorationrenderer.h Move SceneXRender into a plugin 2017-09-01 17:42:28 +02:00
decorations_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
decorations_logging.h
settings.cpp Restore global menu support 2017-01-11 10:21:03 +01:00
settings.h