kwin/kcmkwin/kwincompositing
Martin Gräßlin 996ee34e14 Remove the unredirect fullscreen windows functionality
Summary:
Rational: unredirect fullscreen windows is a weird beast. It's intended
to make fullscreen windows "faster" by not compositing that screen. But
that doesn't really work as KWin jumps out of that condition pretty
quickly. E.g. whenever a tooltip window is shown. KWin itself has a
better functionality by supporting to block compositing completely.
The complete code was full of hacks around it to try to ensure that
things don't break.

Overall unredirect fullscreen has always been the odd one. We had it
because a compositor needs to have it, but it never got truly integrated.
E.g. effects don't interact with it properly so that some things randomly
work, others don't. Will it trigger the screenedge, probably yes, but
will it show the highlight: properly no.

By removing the functionality we finally acknowledge that this mode is
not maintained and has not been maintained for years and that we do not
intend to support it better in future. Over the years we tried to make
it more and more hidden: it's disabled for Intel GPUs, because it used
to crash KWin. It's marked as an "expert" option, etc.

It's clearly something we tried to hide from the user that it exists.

For Wayland the whole unredirect infrastructure doesn't make sense
either. There is no such thing as "unredirecting". We might make use
of passing buffers directly to the underlying stack, but that will be
done automatically when we know it can be done, not by some magic is
this a window of specific size.

Test Plan:
Compiles, cannot really test as I am an Intel user who never
had that working.

Reviewers: #kwin, #plasma, #vdg

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D2180
2016-08-04 14:48:35 +02:00
..
qml [kcmeffects] Do not use root context properties 2015-10-21 13:28:16 +02:00
test Port to CMake AUTOMOC 2016-02-01 21:05:36 +01:00
.reviewboardrc Add a .reviewboardrc 2014-04-03 07:23:15 +02:00
CMakeLists.txt [autotests] Move libkwineffects/autotests to autotests/libkwineffects 2016-07-18 08:47:45 +02:00
compositing.cpp Remove the unredirect fullscreen windows functionality 2016-08-04 14:48:35 +02:00
compositing.h Remove the unredirect fullscreen windows functionality 2016-08-04 14:48:35 +02:00
compositing.ui Remove the unredirect fullscreen windows functionality 2016-08-04 14:48:35 +02:00
config-compiler.h.cmake Initial commit 2014-04-03 07:23:12 +02:00
config-prefix.h.cmake Initial commit 2014-04-03 07:23:12 +02:00
effectconfig.cpp Fix loading of effect config plugins 2015-03-06 13:16:17 +01:00
effectconfig.h [kcmkwin/compositing] Use Effect name as configuration window title 2014-06-12 07:22:17 +02:00
kcmkwineffects.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2016-07-28 09:56:48 +00:00
kwincompositing.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2016-07-28 09:56:48 +00:00
kwineffect.knsrc Fix installation of GHNS material 2015-03-13 15:51:20 +01:00
main.cpp Remove the unredirect fullscreen windows functionality 2016-08-04 14:48:35 +02:00
Messages.sh i18n fixes 2014-07-23 03:35:36 +02:00
model.cpp [kcmeffects] Do not use root context properties 2015-10-21 13:28:16 +02:00
model.h pedantic fixes 2016-07-16 13:14:44 -04:00