the dynamic background feature is enhanced and
becomes smarter. It understands snapped windows, windows
that touch the panel edge etc. The criteria in
order for the background to become solid are:
- any active window that is touching the panel
edge (that includes krunner)
- any inactive window that is snapped and touches
the panel edge (concerning its geometry: quarter-snapped or half-snapped)
- maximized windows
- an inactive window but keepAbove is touching
the panel edge (this catches also the yakuake case)
- panel popups
--there were cases that window previews/tasks context menu/
title tooltips were shown at the same time. This patch fixes this
by adding timers to catch these case and show the above on
priority. The priority used is tasks context menu/window
previews/title tooltips
--the inAttention animation is being played by a
separate Loader, with this patch we hide the underground
original indicator in case it creates a visual
breakage in some cases
--try to give more interaction to the user. When an
applet is clicked at its hidden spacers or the space
reserved for its active indicator then Latte sends
a signal to expand it. Unfortunately I havent found
a way to active other applets in such case e.g. the
icon-only applets
--hide internal separators when overlap and show
only one
--hide internal separators at start or end of the
plasmoid, the user can us separator applet in those
places
--add safety array checkes in order to avoid any
crashes from accessing out-of-arrays elements
--disable direct rendering when a title tooltip
becomes hidden and the mouse isnt in the dock.
This fixes an issue when the user enters the dock
and the parabolic animation wasnt playing correctly in
some cases
--do not show a title tooltip if the dock !containsMouse.
This way some tooltips that were still shown when the
mouse wasnt inside the dock is fixed.
--following issue from #730 more qml code
was found that wasnt releasing connect signals
properly. That could create crashes because
already deleted qml objects could receive such
signals. That was observed after qt>=5.9.2
--this works similar with transparency with no-maximized
windows feature but on reverse. e.g. transparency for
non-maximized windows and solidness for maximized ones
--opacity to 1 when applet is active
--when the user uses a semi transparent panel for
un-maximized active windows and the user activates
a pop up for an applet a better visual effect is the
panel to not have any transparency
--improve translation strings and options order
--the provided separator applet is not animated
in Latte based on the parabolic effect. These
applets are just sliding on the length axis so
the lock button doesnt provide any functionality
at all.
--The internal separator can be hidden when it is
found at the edges of Tasks Plasmoid, it creates a
more pleasant result. If the user wants separators at
the edges can always use the Separator plasmoid from
audoban. This fix would fix also the overlap
of internal sepator with external applet separator.
--at all cases and not just those that
systray length is greater than the set applet size.
There were cases that the systray had very few
applets in it and thus is was animated
--when the dock is hidden or in animation no mouse
wheel actions are accepted
--laucher: only the up action is accepted in order to
activate that launcher
--window: up action shows the window, if it is shown
nothing happens,
down actions, minimizes the window, it is is already
minimized nothing happens
--group: up/down to cycle through the windows
-- disable always and forcefully the automatic icon
size for plasma task managers and make sure to restore
to normal icon size when only such managers are present
--there are cases that the panel shadow should be forced
shown even though the user has chosen not to. Such case
is when an applet is expanded and the user has
zoom factor:1, panel background:100%, which is much
similar with a plasma panel configuration
--add functionality for layoutManager
--add widgets action and alternative layout action to
layoutManager
--remove more functionality that belongs to globalSettings
--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