SVN_SILENT made messages (.desktop file)
Key Bindings for Switching between Windows of current Application

Additional TabBox Mode which allows to switch between all open
windows of the current selected application. By default Alt+tilde
is used which is on qwerty just one key above tab. For non-qwerty
layouts the shortcut is unfortunately not convenient.

REVIEW: 104730
FEATURE: 299308
FIXED-IN: 4.9.0
Unload script on end execution and error

A ScriptEngineAgent is added to monitor the execution of a
script. If it ends it stops the script to free resources.

The same is done in case of an exception, just that in this
case the script takes care of unloading itself.

REVIEW: 104871
Asserts for KWin scripts

Further debugging functionality for KWin scripts. Added assert
methods validate the to be tested parameter and throw a script
error if the value is not valid.

Following methods are available:
* assert(value)
* assertTrue(boolean)
* assertFalse(boolean)
* assertEquals(expected, actual)
* assertNull(nullValue)
* assertNotNull(notNullValue)

All methods take an additional optional parameter which is used
as the error message if provided.

Methods to validate the number of arguments and types of the
parameters are added and throw syntax or type errors.

REVIEW: 104870
Add CMake variable to rename kwin binaries

A CMake variable is used to specify the name of the binary.
By default this is "kwin" but building for PA changes the
name to "kwinactive". The variable adjusts all names, e.g.
kwinnvidiahack becomes kwinactivenvidiahack.

The remaining usage of kwinrc in core and libs is replaced
by a cmakedefine for the configuration name and all data
installations are moved to the defined name. Dynamic loading
for scripts & co is adjusted for loading based on defined name.

This change allows the side-by-side installation of both kwin
for desktop and kwin for Plasma Desktop without the known
issues like conflicts in config files or missing build options
if kwin desktop is used for Plasma Active.

Likewise the KCMs are not adjusted as they are not intended to
be used for kwinactive.

REVIEW: 104299
BUG: 296084
FIXED-IN: 4.9.0
CCMAIL: active@kde.org
handle m_currentBuildQuadsIterator validation independent form painting pass

issue is that the effect chain may (will) change between two paint passes and buildQuads is called outside the paint pass
(shadows / decos whatever changes) so that the iterator may dangle

BUG: 299582
FIXED-IN: 4.9
REVIEW: 104881
erase vector instead of clearing it to preserve the pre-allocated memory

CCBUG: 299594
REVIEW: 104897
add clipping support to AnimationEffect

REVIEW: 104898
Add missing Q_UNUSED

SVN_SILENT
Write QColor directly to config, instead of QColor::name().
This respects KDE standard for writing colors.
This is also backward compatible, in the sense that the same code can still read the "old" format.
Simplify construction of TabBoxClientImpl

cppcheck complained about that piece of code and it was not
really good. A TabBoxClient belongs to exactly one Client which
means the setter should for Client should not be there in the
first place and was only used during construction.

REVIEW: 104909
SVN_SILENT made messages (.desktop file)
Add the mpris2 dataengine

This deprecates the nowplaying dataengine.
Mark the nowplaying dataengine as deprecated

It is superceded by the mpris2 dataengine
BUG 299833
i18n: String "Medium" found to have conflict with other control modules,
context added. Also added to other items in the row. Standalone adjectives
should never be without a context.
SVN_SILENT made messages (.desktop file)
SVN_SILENT made messages (.desktop file)
SVN_SILENT made messages (.desktop file)
only show the stop button when it is not the current activity

too easy to have mayhem ensue otherwise, e.g. when there are no other activities live