Since hidden windows are not placed in the grid-like view, `cell.isReady` is always false for them, and they never switch to the "active-hidden" state when the effect is turned on. This commit makes sure that windows hide even if their cell isn't ready.
DrmPipeline::needsModeset, and by extension, DrmGpu::needsModeset is no
longer expensive in any way, so checking them multiple times per frame is
not a problem anymore
The DisplayPort multi stream path should be more stable in comparison to
connector names, so prefer that for differentiating between outputs with
the same EDID.
BUG: 470718
ICC profiles are now set through KScreen, which conflicts with colord. Colord is also
dropped because applications may read the profile for the current output from it, and
so KWin and the application both apply the profile, resulting in wrong colors.
While applications are still restricted to sRGB, this allows working on sRGB
content on displays with a wide color gamut as the whole profile gets applied,
instead of just the VCGT.
CCBUG: 439135
libkwineffects was introduced when kwin used to be an executable. It
provided an api to implement effects and shielded from the technical
quirks in kwin.
Over the time, kwin internals had been split and abstractions were
refactored so they can be consumed in scripts or plugins. Besides that,
new ways to implement extensions have been introduced, which use
kwin's internal abstractions.
On the other hand, effects continue using libkwineffects specific apis.
This has a few issues: qtquick effects use both apis and it bites us,
duplicating same apis.
The best solution so far is to merge libkwineffects with libkwin, and
replace libkwineffects abstractions with libkwin abstractions, e.g.
EffectScreen -> Output, etc. This change takes care of adjusting libs.
Obviously, the main disadvantage of doing so is that binary effects
have to be recompiled every time new libkwin is released. But it's
already the case with libkwineffects too.
onTextEdited only updates on user-invoked key presses, and not
programatic changes.
This is a better choice when we have a two-way bindings such as with
configuration files, but in this case we always want the UI to reflect
the current contents of the search box making onTextChanged the better
signal.
BUG: 475789
Doesn't seem to work quite right without sourcing the prefix, or while overriding the env variables entirely, for example it is unable to load any window decorations. By sourcing the prefix _and_ including the bin directory in the path, it seems to work as expected - or at least the window decorations load correctly now.
On X11, there's no per screen rendering. The primary screen is specified
as the painted screen. RenderViewport::renderRect() should be used.
BUG: 475799
Some apps, notably Tablet KCM, will rebind the tablet interface and consume all events that should be sent to the GUI toolkit.
This commit sends events to every consumer and also stores the latest cursor indexed by wl_client instead of wl_resource.
BUG:473126