The dummy window hack was needed to ensure hidpi rendering on Wayland.
We introduced QQuickRenderTarget::setDevicePixelRatio() in Qt 6.3, so
the hack can be removed now.
kwin installs metadata files for builtin effects so the kcm can find
them. With the recent KPluginMetaData changes, the Id field has been
removed, so the kcm will use "metadata" (the basename of metadata.json)
as the plugin id.
In order to fix plugin id resolution, let's install metadata with the
file name same as the plugin id.
On X11, the painted screen is meaningless, so the zoom effect doesn't
use it to store offscreen data. It can create problems when iterating
over offscreen data map.
The painted screen can't be used to determine the necessary offscreen
texture size too. X11 requires some special care.
This change adds explicit wayland checks.
BUG: 466376
When allocating offscreen texture, we should use screen's scale rather
than current render target's scale.
In addition to that, the cached vbo cannot be used for rendering on
other screens with different scale factors, which can happen.
This signal exists as a convenience helper, but it's not always emitted
as it's advertised to work. Instead of fixing it, let's drop the signal
to simplify virtual desktop code. Its effects can be accomplished by
monitoring Window::desktopChanged() and VirtualDesktopManager::currentChanged()
signals in effects and scripts where needed.
Since normal geometry is now rounded, we need to make sure to round
anything that should match that geometry, otherwise we risk things
peeking out of the normal geometry.
BUG: 464526
We want floating tiles to be activatable, but also dismiss the effect by
clicking on the whitespace.
The current solution doesn't work as a floating tile that is in turn
split will pull focus from the children meaning those tiles can't be deleted.
Rather than special casing and z-manipulation we can simplify everything
by moving tile dismissal to the root of the effect and appropariately
propagating the event.
BUG: 465740
The blur effect is used to improve the contrast. The option was added
thinking "why not? it might be useful." This was perhaps a mistake and
it should have been added with a clear valid usecase in mind.
CCBUG: 457495
When a window goes away it was stoppping translucencyWindowTypeAnimation
and translucencyInactiveAnimation but any translucencyMoveResizeAnimations
was hanging there forever, causing ghost windows
BUG:439332
Imports come at a big cost when they're unused.
Also we shouldn't be importing WindowView from a different plugin. If
that effect is disabled it meant tileseditor would fail to load.
BUG: 464970
If there's windows and we're not searching, we don't need the
PlaceholderMessage. So only create it when we actually need it to reduce
the time needed to activate the effect.
We don't need the features of Repeater here and can instead just use an
Instantiator, which allows us to use asynchronous creation for the
window delegates, reducing the time needed to activate the effect.