--the previous approach was disabling the background
contrast effect at all times except when the background
opacity was 100%, the new approach considers the background
opacity value and provide mid values to be applied.
That means that 0% background opacity disables the background
constrast visual effect, 100% applies the background contrast
visual effect at its maximum values and in between the mid
values for background contrast effect are applied
--is touching view functions did not identify
when a windows was touching the absolutegeometry
<thickness> boundary and at the same time
overlapping the view <length> area. A case
that was breaking the experience was the
Plasma "AddWidgets" dialog
--Latte now identifies what is the maximum transparency
provided by a plasma theme and uses that information
in order to provide full solidness if needed by the
Background Opacity option (meaning 100% should be totally
solid)
--during searching the plasma theme roundness,
opacity values for pixels > 200 are considered
to be in panel background part. This fixes also
the Oxygen theme case and provides a better roundness
value now
--when the desktop background isBusy and
the user has chosen full transparency when
no window is touching the View then the
user can set the Busy Opacity to define
how much panel background opacity wants
--I reversed the logic meaning that the Latte panel
background painting in more important than the Plasma
original SVG painting. That way the animations between
panels painting become smoother with no glitches
BUG: 408552
--Latte can now use the new multi-screen
Last Active Window infrastructur to choose
which Active Window is preferred, only from
current screen OR from all screens
--View::WindowsTracker now provides all the time
information about CurrentScreen and AllScreens!
This way all consumers (Latte::Containment, Applets etc.)
can choose whatever suits them best.