kwin/plugins/platforms/x11/standalone
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
..
CMakeLists.txt Create screen edge through the Platform 2016-04-19 13:29:55 +02:00
edge.cpp Create screen edge through the Platform 2016-04-19 13:29:55 +02:00
edge.h Create screen edge through the Platform 2016-04-19 13:29:55 +02:00
glxbackend.cpp Remove the unredirect fullscreen windows functionality 2016-08-04 14:48:35 +02:00
glxbackend.h Move glxbackend to x11 standalone plugin 2016-04-15 07:46:02 +02:00
logging.cpp [plugins/platforms] Dedicated logging category for X11 standalone platform 2016-04-12 14:48:54 +02:00
logging.h [plugins/platforms] Dedicated logging category for X11 standalone platform 2016-04-12 14:48:54 +02:00
screens_xrandr.cpp
screens_xrandr.h
x11.json SVN_SILENT made messages (.desktop file) - always resolve ours 2016-04-21 10:02:53 +00:00
x11_platform.cpp Move the OpenGL unsafe check into the Platform 2016-05-17 14:29:29 +02:00
x11_platform.h Move the OpenGL unsafe check into the Platform 2016-05-17 14:29:29 +02:00