When a mapped window doing reparent, xorg will generate a unmap and map
sequence.
In KWin, If a mapped Unmanaged is doing reparent, KWin will receive a
unmap and map sequence because KWin won't release the Unmanaged
immediately. When the MapNotify comes, its parent is not longer the root
window. However, KWin still create an Unmanaged to manage it. As a
result, a ghost Unmanaged remains in the list.
We combine all possible operations from the pipeline into one hardware color op,
there's no reason to skip any - it just prevents matching a pipeline that could
actually be represented in hardware just fine.
BUG: 494611
If an internal window doesn't accept the event, we should still stop
traversing the event filter chain because we know that the internal
window is the only receiver of pointer events.
At the moment, normal internal windows cannot take focus, and the ones
that can are handled separately, e.g. in the PopupInputFilter and in the
TabBoxEventFilter.
Some applications provide truly nonsensical luminance values, like 10 million nits.
This adds a basic sanity check to not use that for tone mapping
BUG: 494502
This adds a property backed by the aforementioned CubicCurve class,
which will allow us to assign a curve to transform the pen pressure.
This can be used for small changes like changing the thresholds (beyond
what libinput already does transparently), to radically changing how the
pen pressure is mapped.
CCBUG: 457705
A common usecase for this is when preedit is not empty, but key event is
bypassed is when modifier key is pressed. For example, user may want to
send Shift+A to input method, but input method will ignore the Shift key
press and forward shift to application. This allows certain usecase if
application reacts to modifier only key event.
While it "may" causes some issue when input method decide to send key
that produce text when preedit is not empty, this does not happen in
practice and should be considered a bug on input method engine side.
There's some unresolved glitches on multi gpu systems. Until that's taken care of,
triple buffering is disabled by default on NVidia unless the environment variable
KWIN_DRM_DISABLE_TRIPLE_BUFFERING=0 is set
BUG: 494547
BUG: 494407
WL_SURFACE_ID does not provide a reliable way to associate X windows
with wayland surfaces. On the other hand, the xwayland shell protocol
has been in use for quite a while now.