kwin/scripting
Martin Gräßlin 142aab2e24 Introduce an EffectsHandler::animationsSupported -> bool
Summary:
A new method to tell the effects system whether the compositor scene
is able to drive animations. E.g. on software emulation (llvmpipe) it's
better to not do any animations at all.

This information can be used by effects to adjust their behavior, e.g.
PresentWindows could skip transitions or effects can use it in their
supported check to completely disable themselves.

As a first step all scripted effects are considered to be unsupported
if animations are not supported. They inherit AnimationEffect and are
all about driving animations.

The information whether animations are supported comes from the Scene.
It's implemented in the following way:
 * XRender: animations are always supported
 * QPainter: animations are never supported
 * OpenGL: animations are supported, except for software emulation

In addition - for easier testing - there is a new env variable
KWIN_EFFECTS_FORCE_ANIMATIONS to overwrite the selection.

Reviewers: #kwin, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D2386
2016-08-15 17:38:33 +02:00
..
CMakeLists.txt -Wmissing-include-dirs 2015-03-22 22:36:26 +01:00
dbuscall.cpp New QML Type DBusCall 2013-08-13 09:57:51 +02:00
dbuscall.h New QML Type DBusCall 2013-08-13 09:57:51 +02:00
documentation-effect-global.xml export AnimationEffect::set and ::cancel to script 2013-03-28 19:47:30 +01:00
documentation-global.xml Add documentation for global KWin object in KWin scripting 2013-01-11 18:12:25 +01:00
genericscriptedconfig.cpp optimize string operations 2015-11-05 14:14:06 +00:00
genericscriptedconfig.h Drop our custom KLocalizedTranslator 2014-06-18 15:02:58 +02:00
genericscriptedconfig.json [kwin] Fix genericscripted config 2014-03-19 08:00:28 +01:00
kwinscript.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2016-05-31 11:06:54 +00:00
Messages.sh Extract messages from scripts and scripting module 2013-03-04 10:29:25 +01:00
meta.cpp Fix no cast to/from ASCII intrduced issues 2013-07-24 09:58:33 +02:00
meta.h Export Toplevel to KWin::Scripts 2013-02-14 08:16:19 +01:00
screenedgeitem.cpp Drop build option KWIN_BUILD_SCREENEDGES 2014-11-24 10:48:49 +01:00
screenedgeitem.h Add a ScreenEdgeItem to reserve a screen edge from QML 2013-08-13 09:57:51 +02:00
scriptedeffect.cpp Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
scriptedeffect.h Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
scripting.cpp Port to CMake AUTOMOC 2016-02-01 21:05:36 +01:00
scripting.h [autotest/integration] Add a test case for screenedge usage in Scripts 2016-08-02 09:12:57 +02:00
scripting_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
scripting_logging.h [scripting] Add dedicated logging category 2015-07-31 13:25:51 +02:00
scripting_model.cpp Drop cmakedefine HAVE_WAYLAND 2015-08-12 11:39:20 +02:00
scripting_model.h [scripting] ScriptingClientModel operates on AbstractClient 2015-06-06 18:53:55 +02:00
scriptingutils.cpp Asserts for KWin scripts 2012-05-10 10:00:54 +02:00
scriptingutils.h [scripting] Add dedicated logging category 2015-07-31 13:25:51 +02:00
timer.cpp Strip module path from all Qt #include <> 2013-03-06 10:26:56 +01:00
workspace_wrapper.cpp Disable Activities support on Wayland 2015-07-07 11:48:42 +02:00
workspace_wrapper.h Move clientMaximizedStateChanged signal from Client to AbstractClient 2015-06-07 03:17:34 +02:00