--improve more the parabolic animation and
fix an issue that was based on the time window
between smooth animation and directRender when
the mouse activates the parabolic effect in the
begin.
--we now support through our discovering mechanisms
a properly identification for kicker and simplemenu
applets. This way changing their icons work correctly
and of course the parabolic effect
--this fixes the Tasks plasmoid thickness and
improves a small breakage in the parabolic effect.
The Tasks thickness is going to maximum when there
is a hoveredInded in plasmoid or in containment.
--the previous fix, fixes also a small breakage in
the parabolic effect animation. The breakage was
appearing when going from
applet->applet separator->task and directRender is
enabled
--all the functionality concerning the internal separator
is moved completely into the plasmoid. Now the add/remove
of the internal separator can be found through the Tasks
contextmenu as long as we are in editMode (that is showing
the configuration window)
--support properly applet separators. This is the
first part, in the future the margins for them
should be updated correctly and the edge cases,
for example when the applet separator is next to
tasks plasmoid
--the parabolicManager is informed about the applet
ids for hidden applets and separators. This way the
manager can process the signals for parabolic effect
much better and correctly
--this is finally used properly through the
ParabolicManagers new architecture. Any old
problems concerning applets that didnt clearing
their zoom should be fixed totally now!!
--all messages concerning parabolic effect are calculated
and send through the ParabolicManager. This will help
a lot in maintainance and in many cases in the future
such as, separators, hidden applets and clearing zoom
properly
-use the old code and add it in AppletIdentifier in order
to discover applets that provide IconItems and substitute
their panel behavior with Latte experience
--the internal separator codebase has been simplified
a lot and uses a new approach that provides a smoother
parabolic effect. This is part1 concerning improve separators,
in part2 applets separator will to try to be improved
--expose the functionality through the configuration
window. The user can choose no latte type internal
active applets indicators, only show to latte internal
applets and show at all applets
--improve applets shadows, now the shadows used
are using the backgroundColor when a transparent
panel is forced
--identify better when shadows should be drawn
-- the user can choose this behavior from the Tweaks page,
the panel background in shown only when there is maximized
window and it is fully transparent otherwise
--there are plasma widgets that break the Latte
experience concerning the parabolic effect. We fix
this by providing above them our own Latte solution
and by hiding the applets appearance. At the same
time we make sure that a folder widget is not increasing
its size above 96px. for which its appearance goes to
FullRepresentation
--applets such as folder view and icon where
breaking the animation for icon size < 64px.
This commit uses the heuristic algorithm from
AppletItem in order to discover such plasmoids
and afterwards it fakes a Latte.IconItem over
the PlasmaCore.IconItem
--disable all Math.round(...) from parabolic
effect calculations because this was enough in order
to miss just one pixel that was able to create
a small trebbling
--use a small duration of 20ms for the
directRenderAnimationTime in order to add a bit
more smoothness in the parabolic animation
when directRender is activated
--drop the checkListHovered that was using an
heuristic algorithm to discover if the mouse is
still inside the window. In its place use
the dock.visibility.containsMouse
--use one single globalDirectRender flag from
containment in order for all dock elements to
investigate if they should use directRendering-
painting or play animations instead
--adding the internal separator made the things a little
more complicated. This commit improves the clearing
calculations in order to not conflict the messages
with each other and trying to restore all applets
and tasks that are not considered for the parabolic
effect.
--the applets now take into account the tasks
internal separator in order to provide beautiful
smooth parabolic animation when the internal separator
is at some of the Tasks edges
--durationTime that was used for the animations
was an integer. This was created extremely fast
animations for x1 and extremely slow animations
for x3. This fix changes that by setting the
durationTime in the qml side to real type. And
by that we are setting the following pragramatic
speeds which create a very good experience.
x1 = 1.65
x2 = 2
x3 = 2.35
the above can be updated a bit based on the user
feedback and experience
--this way the right click we always take into account
the visual appearance space that latte provides for it
and not the applets internal geometry. So now spacers
also are considered as applet area
-this patch provides the offset variable for
our qml side... The offset feature is not complete
the following are missing:
-expose offset at the dockview
-use offset in !compositing state
-update borders by taking into account the offset also
-update the automatic-positioning to take into account
the offset also
--based on a strande behavior when changing form
factors and not appearing correctly I found the
reason why this is happening... this fixes the
audoban separator wrong latte behavior and for
the widget also concerning of course when the
dock changes form factor
--this fix inlude also a fix of a binding loop
for the heading of launchers inside the AppletItem
--the user can alter this behavior from the tweaks
page. So the user can add launchers as plasma applets
by disabling the relevant choice in the tweaks
page.
--adding a plasmoid in taskmanager does not appear
an add cross
--trying to add launchers outside the taskmanager
appears a message over the taskmanager indicating
the real Launchers Area
--first all the code concerning exposeAltSession
is moved in it and in the future also the autostart
and currentSession can follow. This will improve
both dockview and configview
--icon margin is not set by the user,
this is why the hidden spacers must update
their size according to the user choice,
do not create to much empty space at the
edges
--when the dock was changing between form
factors the edge alignments must be tranlated
correctly. e.g. left and right must
become top and bottom accordingly
--improved all the visual and calculations
for !compositing. During the road also some
fixes introduced for the masking calculations
as the PanelBox exposes more of its settings
publicle to root and that way to
VisibilityManager
--relevant to #250,creates consistency for
hovering tasks and applets. The only concerns
is around the springanimation introduced in
plasma 5.10 but this will be checked later
how it can be supported properly
--algorithm that is searching for an IconItem
inside at the applet's code for 2 levels depth.
If it is found the this IconItem is used to
be activated and deactivated on entering and
exiting the applet.
--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
--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 a big fix for the painting mechanism.
Introduces a new direct rendering phase in
which no delays are happening on drawing.
This commit contains also the fixes in various
places in order for the new rendering to work
correctly
--this fix publish the correct panel borders
that should be drawn according to alignment
and location. Improves also PanelBox heurestics
and should be also any shadows issues
--the user is able to set some additional
debug flags in --debug state by just executing
the application.
supported flags:
--with-window: provides a separate window
to show metrics from each separate dock
--graphics: visual indicator for the various
elements
--mask: additional debug messages concerning
mask calculations
--this can be tested by opening the configuration window
through the tasks. Even though a task is zoomed when
triggering the configuration window the animations
do not break afterwards
--the containment becomes independent from dockView.
The appletItems which are needed in order to show
the context menu correctly are discovered from dockView
without any need of functionality from containment
--this improves the way tasks geometries are
published for the windows. This improves the
experience for the minimize kwin effects. With the
old code there were many cases that the animation
was broken
--when a task is removed too fast then some
animations were not informed that had ended.
So there was an addition animation signal but
no removal animation signal. This fix protects
this in two different cases
--the normal state also from now own uses only
the animations states and no the hovered task
indicator. This simplifies things a lot and probably
creates also a much robust experience.