--as it appears plasma applets were not the main faulter
to blame for startup freezes. The bug was that Latte
was trying to communicate with Plasma DBus interface
to inform it about docks/panels geometries. For some
reason during startup other applets could also were
trying the same and for that reason Qt provides a 25sec
forced delay in case there are too many such calls.
The new approach does not block the startup code at all
and it should work at all cases.
BUG:444739
FIXED-IN:0.10.4
--when Plasma is started much later than Latte
the Plasma::Extended::ScreenGeometries should enable
its broadcasting interface when Plasma is first
registered in DBus
BUG:424356
--PlasmaExtended::Theme produces QRegions based on corners
radius that can be consumed afterwards from Effects calculations
in order to provide correct QRegions for custom backgrounds
produced from custom background radius option
--the new code succeeds in more cases and
trys also to handle some wrongly designed
cases such the Air plasma theme that provides
zig-zag corner shadows
--many plasma themes disable their shadows with
settings their opacity to zero instead of removing
their shadow elements. In such case the new approach
sets the hasShadow flag to zero
--the new approach is first tracking panel-background
shadows if they are available and shown in order to
identify the plasma theme panel background roundness
--Plasma::FrameSvgItem margins are not consintent
in order to provide helpful hints how plasma theme
panel-background svg is drawn properly. The new
approach calculates paddings based on top,left,bottom,right
svg elements and in that way a consistent a properly
background.minimumThickness is discovered.
--implement things simpler by using the same
CoreTypes header file both for LatteCore.Types
import statement and App c++ implementation.
Let's leave in the future to decide if
a LibLatte is really necessary.
--use a more logical organization for types. LibLatte2
is split to become LatteCore library and Latte types
are now moved to application level. The Latte Types will
be split even more... Tasks-Only related types will
become Latte.Tasks types
BUG:420210
--when real panel views are slided out either for auto
hiding, dodge case or dynamically removing their screen
margin the desktop available space should not be
changed; it should stay the same.
--Plasma 5.18 introduced a new dbus interface in order
for external apps to be able to publish to Plasma how
much they occupy from screen space. This is a much
requested feature from users, Latte is now publishing
both its availableScreenRect and availableScreenRegions
and this is also Multiple Layouts aware at runtime.
BUG:391073
--identify better what is the plasma theme color
palette the creator has chosen and use ALWAYS
the same color palette that Plasma is also using.
In the past, Latte was trying to protect the
color palette because Latte REVERSED colors mode
did not work fine for all plasma themes. That
approach is abandoned, Latte will use the same
colors group with plasma themes and it is on
the creators responsibility to provide enough
contrast
--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