--fix the plasmatube behavior. The clicking
animation from Latte was preventing clicking
signals to be caught exactly as the plasma frameworks
were expecting them.
--when dock is changing screens and dock is using
an automatic calculated icon size based on contents
the automatic icon size must be recalculated for the
new proportion icon size
--in order for a dock to be above KeepAbove
windows must contain flag BypassWindowManagerHint.
Unfortunately this flag breaks the experience with
AlwaysVisible state especially the struts and
snapping behavior. This patch recreates a
dockView when a mode is changed and an
update for the flags is needed.
--at the same time move the localGeometry to
dockView in order to trigger properly the
updateAbsGeometry when it is needed, on
window's geometry changes not only when there
is local geometry change
--when a dock is created through corona, the
addDock function reads the mode which is going
to be used and specifys this way the flags that
have to be set during docks creation
--support also an edge case where a top and left dock
overlap each other but there is also a free space in them.
This case hasnt been taken into account into the previous
implementation
--this is especial useful for plasma themes with big
transparency. Latte can not support blur and background
contrast kwin effects for panel backgrounds that are drawn
inside its qml side.
--this commit reduces into half the calculations
needed from the vertical docks in order to position
themselves based on horizontal docks. More specific
it makes the QRegion calculations only once for
each dock instead of two times
--this commit uses free region from corona instead
of free rectangle in order to calculate size and
positioning for the docks. This way is possible to
be positioned more intelligently.
--refer to last 6-7 commits that contain this new
multi-screen behavior
--the new multi-screen behavior becomes more intelligent.
Latte trys to never let you without a dock containing
tasks plasmoid. It trys to do that intelligently not
depending on how many docks you have registered and if
they are set to explicit or primary ones
--primary docks are removed when their edge is
occupied in the new primary screen and their
current screen is destroyed. Also they are added
when the screen edge is available
--the last dock containing tasks can not be removed
automatic by Latte based on screens heuristics
--on startup Latte checks if a dock containing tasks
will be loaded based on screens associated. If it
doesnt it loads the first dock containing tasks and
puts it on primary screen and setting also its flag
to onPrimary
--on the configuration window when a dock changes from
explicit to primary screen by latte automation the
record of the previous screen is shown correctly