--more specific identifying properly when a vertical
view is shown and is touching a top or bottom view
that has requested to be fully trasparent when no
maximized window exists
--the multilayered background first layer is not
decoupled and is not the parent layer for all the
rest layer. This way we can really hide it without
influence the rest background layers.
--when background custom radius and shadow
are applied the dock window geometry shouldnot
change if these values are not altered. This
is especially true when a dock is hiding
its screen edge margin when there is a maximized
window and the same time is hiding also its
background shadows. In such case in the past because
shadows were temporarily disabled the dock was constantly
changing its geometry
--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
--playing around with Kirigami.ShadowedRectangle in order
to provide a nice beautiful custom made panel background
that the user can chosen custom radius or shadow size.
Colors are going to be used totally based on current plasma
theme.
--that option from Behavior page is now renamed and
also its behavior has been upgraded by enabling
three possible options:
1. Disabled always
2. Auto - which is enabled for Docks and disabled for Panels
3. Enabled always
--after view startup real floating panels that are hiding
their thickness because of maximized windows must reposition
themeselves in order to have a valid visual state
--inEditMode is now updated directly from
containment()->inUserConfiguring()
--add again hiding blockers when View gets
into edit mode. That was lost during last commits
because it was part of Visual qml code that
has been moved to another window.
--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.
--in justify mode the centered applets are now
offseted when overlapped from side layouts
in order to always present to the user all applets
and at the same time improve accesibility. That
approach takes into account how plasma panels
in 5.19 behave when the user has added auto-centered
plasma spacers.
--Can above Fullscreen windows under x11 ignore
GTK_FRAME_EXTENTS totally. Long story short
such docks can not have beautiful snapping from
kwin and as such the blur area should ignore the
headThicknessGap
BUG:422313
--was changed to 60Hz from 20Hz and also
the first call is immediately draw and then
the timer in triggered in order to block all
other calls. Hopefully this will be enough
for smooth moving blurring areas.
BUG:422209
--The new implementation for snapping needed to remove
the touching view edge from touching algorithm. The
windows trakers now provide two separate values for each
touching.
----First value is for regular window touches for which
their window geometry intersects with view published
absoluteGeometry
----Second value is for windows that are touching
view edge without intersecting with view geometry
--implementation is much more concrete now and we
need to be 1px precise in order to provide good
snapping and dodge visibility modes correctly
--in upcoming commit the view is touched property
will mean without window is touching the view edge.
For view edges touching there will be a different
variable that can be used from containment and
applets.
--dont add length edge margins through offset
for start/endlayouts, much cleaner and visual
pleasing to the eye. the user can always add
spacers if prefers to add padding.
--in configure applets mode when the layouts overlap
with main centered layout then visual feedback is provided to
the user in order to help him understand in which
layout each applet belongs
--really handy and beautiful in order to confirm the
calculations that are valid. Already a bug was found
for ParabolicEffect. There is 1px difference between
hovering Tasks and Applets
--View recreation path was broken from new implementation
for Latte::Interfaces that pass objects to containment
interface. This is now fixed and Interfaces::View object is updated
and broadcasted correctly when changed
--when GtkFrameExtents are zeroed for behaveAsPlasmaPanels
then it is better to recreate the view to avoid freezes and
hidings of the view because of compositor strange behavior
--plasma themes because of their svg nature can
have a minimum padding under which they are not
drawn correctly. In such cases background shadows
overlap and background internal drawing overlaps
in the center. That property protects from
such case by introducing a minimum background
thickness at all cases. Good example of the issue
is observed in behaveAsPlasmaPanel(s) that are
floating and have very good round corners.
--AppletItem::clip was introduced in order to
avoid circumstances that applets exceed their limits
and as such still events from surrounding applets.
Because of that change applets should now apply
their layout properties as valid all the time
--use a single slot when View triggers its workarounds
for the kwin issue that kwin hides panels when an activity
stops. In such case the view shadows are also redrawn.
--in older version screenEdgeMargin == -1 was meant
that the screenEdgeMargin was disabled but this does not
need to be passed to View any more because variable
screenEdgeMarginDisabled is now passed directly
--Blur area is not updated instantly any more
and does not make too many unnecesary calls.
A timer was added to orchestrate this in order
for the Effects area to be updated at maximum
20times/sec.
--Dont animate the view container at all cases, that
creates a much smoother experience for the user in
editing mode
--applets are now always take into account the splitters
placement and the splitters try to be always in the
center. This is much more predictable and understanble
from the user
--I have managed to solve most of the issues that were
preventing a live demonstration of applets layout
during InConfigureApplets mode... Things are more
intuitive now are updated correctly between different
layout areas... enjoy...