The Translucency Effect does not yet implement the isActive() method, but with default settings the effect is mostly inactive.
The effect itself is not really cheap as it does many checks for the window type and that for each window in each frame.
I wanted to rebase it to an animation effect class anyway for it's considerably broken and just to get the bug for colliding state changes half-wise out i needed to hack around a lot.
One could also consider to make it a scripted effect for 4.10 (requires to reimplement the animationEnded function in the ScriptedEffect)
Dim inactive windows falls into the same category and shares similar bugs.
yes sounds reasonable, for 4.9 branch I have already a patch (which discovered #306263 - clearly a schrödinbug)
Git commit a88457250ef4e13b4934b6dca1632d67c41d8b05 by Martin Gräßlin.
Committed on 04/09/2012 at 21:02.
Pushed by graesslin into branch 'KDE/4.9'.
Translucency Effect supports isActive hook
The effect gets a set of boolean values to check whether it is active for
one of the categories (e.g. move resize, decorations).
This allows to easily check whether the effect is active at all, that is
if all values are at 1.0 the effect will never affect a window.
In all other cases it can be combined with looking at the available
windows to e.g. enable the effect for move resize only when there is a
window which is either moved or resized. This check is performed whenever
an action happens which could cause a window to become inactive.
M +95 -1 kwin/effects/translucency/translucency.cpp
M +12 -0 kwin/effects/translucency/translucency.h