--the new behavior gives more priority to progress actions
over notification items such as "unread emails". Progress
actions at the end probably they will end and after that
the number of notification items will be shown
BUG: 403559
--in order to be able to draw correctly the badges when
they exceed the tasks boundaries the effects needed to
be repositioned in Task/IconItem. So now shadows/colorizers
etc. provide better freedom from code point of view.
BUG: 403518
Trying to handle the case of 403353 .
We update the badge mask when the badge information
have updated. Strange issue because this
does not happen when using dbus interface
for tasks badges indicators.
Summary:
Changes in libtaskmanager in Plasma 5.15 currently break several Latte Dock features. This patch ensures that Latte Dock will continue to work when Plasma 5.15 is released.
BUG: 403358
Reviewers: mvourlakos
Reviewed By: mvourlakos
Subscribers: plasma-devel
Tags: #latte_dock, #plasma
Differential Revision: https://phabricator.kde.org/D18375
Summary: Fix minor typos in messages and comments
Test Plan: No major changes to prevent compilation and usage
Reviewers: mvourlakos
Reviewed By: mvourlakos
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17894
--during dragging the DelegateModel inside
TaskWindows may not catch up with TasksModel
modelIndex() function and that could create
crashes. In order to avoid such crashes the
DelegateModel is not updated during dragging
and we give it also a little time to update
after the dragging has finished.
--moving a task now is not synced immediately to
other docks. Syncing takes place only in the end.
The dock in which the user changed the launchers
order sends a signal to other docks to update
theirs launchers order.
BUG: 401232
make sure that we delete a valid contextMenu and
not a ghost reference. This could occur from
two-fingers emulating right-click in wayland.
BUG: 397635
FIXED-IN: 0.8.1
--previews showed some strange behavior by
re-introducing faulty or empty previews under
X11. Best way to approach this is to follow up
plasma design idea in order for the code to be
comparable. The code was updated and the introduced
issue shows to be fixed but this wants users
feedback.
BUG: 397193
FIXED-IN: 0.8.1
--with this commit now Latte is able to identify what are
the global shortcuts used for each activation entry and
also to not show at all any badge for activation entries
that are disabled from the user
BUG: 397128
-- touchpads and fast wheel scrolling for
tasks was creating an unpredicted effect
from user point view. The solution was
already tested from audio badges, applets
wheel activation but hadnt got into
for Tasks.
BUG: 396737
FIXED-IN: 0.8.1
--in plasma 5.13 there are cases the libtaskmanager
shows two launchers because we delay the launcher
removal for the bouncing animation. A way
to fix this by the user is to disable all startups
through plasma systemsettings->launch feedback
for the taskmanager. But because this is a
default plasma option many users would feel
uncomfortable when the launching animation
breaks. Such apps were gimp and inkscape.
This patch handles that case in order to provide
a nice no-breaking launcher animation for
these apps also.
During dock sliding-in because the parabolic
effect isnt trigerred immediately but we wait
first the dock to go to its final normal
place we might miss the activation of the
parabolic effect. By catching that signal
we are trying to solve this.
-- when removing a task and there are surrounding
separators then the hidden spacers are updated
immediately for the neighbour tasks. In such case
in order to not break the removal animation a small
margin must applied.
--the old architecture that was trying to keep
an internal separators record couldnt catch up
and at the same time could create issues with
internal separators at different activities.
--when only launchers are shown and the user
has chosen to disable any active indicator
then the plasmoid should behave only as
a smart launchers list with no window
capabilities
--always delete a previous timer for checking
preview showing before creating a new one
--always make sure the before showing a preview
the dock isnt hidden
--animate tasks hidden spacers properly
when a task is inAttention and the user
enters the mouse at first time when the task
isnt zoomed
--improve tasks hidden spacers animated
behaviors
--improve applets hidden spacers animated
behaviors
--the directRenderDelayer is used during first
entering in order to delay the activation of
directRendering. The cons of previous fastEntering
implementation added the necessity for this
replacement.
--previously directRender was activating also when
from the first entered element the mouse moved fast
enough to the second element. But this could happen
also accidentaly some times. This improvements indicates
also the mouse position in the second element to be
near the center of that element
--in some cases after activity changes some tasks
are shown empty because some ghost tasks are created.
This was tracked down to hidden TaskDelegates spacers.
--libtaskmanager sometimes adds items and
hasnt set its full settings. After the addition
it updates some of the settings. This fix
is trying to fix that circumstances by not having
any blocking warnings
--window previews were lowered in order to touch
the task for which are presenting issues. This way
the mouse confirms alway the taskContainsMouse flag
--title tooltips are shown only when the dock has
ended its sliding-in animations
--issue #852, when directRendering is activated
some of the tasks could be in restoreAnimation,
in such case they stop their animation are moved
to directRendering mode
--issue #852, improve how the two states of zoom-in
and directRendering are indetified and triggered.
The initialization of hovering indexes now is
trigerred only for window mouse out events.
--in order to go faster to directRenderMode in some
cases, the following criteria was added. If the zoomScale
of a task is greater than 1 and the mouse enters that task
then directRendering is enabled.
-- when a task that wasnt launcher was inAttention
state and was bouncing and the user was clicking it,
the animation wasnt that clear at its middle, there
was a small breakage.
--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
--in the initial design there was only a line for the
active task and the user could choose if wants to show
a second dot to indicate that this is a group of windows.
This behavior was updated in order to take into account
if the user has chosen to show only dots even for the
active task.
--when there were many internal separators in the row
and the user was dragging a task the internal separators
indexes afterwards were broken. This fixes this by
forcing the separators to update their indexes after
the user finishes dragging.
--the user now can add an internal separator and set
its position also by taking into account in which task
the context menu is shown
--the user now can remove any internal separator wants to
by showing its context menu options in editMode
--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
--make the single separator old architecture to
work correctly with the new multiple internal
separators architecture. Many things need to be
updated in order for this to work but lets make
one step at a time.
--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
--trying to show all tasks in all states directly
when the environment is in !compositing
--block all animations (removals/showings) when
the environment is in !compositing
--add more animation phases in order to provide
a better experience for the inAttention bouncing
animation
--add visual debuggers for the spacers and padders
needed for the bouncing animation
--move the release of signals manual bindings for
tasks delegates from onRemove event of the delegate
at Component.onDestruction. The crash was happening
when the code path(onRemove event) wasnt occuring,
so the bindings werent released.
--a faulty check was using backgroundColor instead of
textColor for badges shown from global shortcuts indicators
--improve badges to understand the new url form of
plasma 5.11 launchers
--during assigning activities for a launcher
a window that had a launcher for the active
activity maybe doesnt have any more when it is removed.
in this cases the removal animation should be
played
--when two or more consequently launchers were bouncing
their animation was broken because they were changing
places. This patch catches these cases and provides
a proper way to show these animations.
--enable task margins for neighbour separator
when the internal separator is hidden but there
is an applet separator at the edges and the task
is found two steps far from the edge e.g.
pos=1 or pos=tasksCount-2
--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.
--during removing a TaskDelegate the window is destroyed
in some cases and the icon provided by libtaskmanager
is a unknown pixmap. In such cases we should paint the
last valid one. That way it is always painted the correct
svg file even when removing a window that doesnt have
a launcher and the libtaskmanager provides an unknown
pixmap for it
--the user can add a previewsDelay value in ms in the
latte plasmoid General settings which can be found
in a layout file in order to change the delay which
a preview is needed to be activated. Values lower
than 150ms are ignored because they break the previews
experience by providing faulty previews
--protect wheel actions in order to not trigger themselves
multiple times
--use a timer to achieve this goal in order to be able
to support also X11 systems that have previews enabled for
all windows (a behavior that normally breaks the isMinimized
state)
--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
--there was an old code path that wasnt using the
new way of publishing tasks geometries. That is that
normalize the values in order to be always valid and
in the screen boundaries
-- Magic Lamp effect doesnt like coordinates outside the screen and
width,heights of zero value... So we now normalize the geometries
sent in order to avoid such circumstances
--this is only for the case that the launcher is called
through a shortcut. The dock mask in that case uses the
midThickness and for that the bouncing launcher must be reduced
--as in an older commit has been documented the qml
function childAt doesnt work propery for our ListView,
there are cases that returns an empty/null child. For this
reason we have implemented our own childAtPos function in
order to immulate the save behavior. Unfortunately there
wasnt a check in it that the items checked based on their
geometry they were actually TaskDelegate's. This fix not
only fixes bug #574 but also should provide a cleaner dragging
behavior, at least for the dragging phase
--identify startups better in order to distinguish
them to those that belong to launcher and should be
shown immediately and those that dont belong in any
launcher and they shouldnt be shown
--this commit is the last for this to be supported.
It checks if the globalLauncherList is empty and in
such case when syncing is enabled the current dock
launchers are used
--in X11 now the globalshortcuts class takes into
account if the user presses any modifier in order
to hide the dock
--if the dock is hidden whenever a relevant global
shortcut is triggered the dock is shown and number
indicators for the tasks are shown
--move all the logic around parabolic effect signals
into one place, ParabolicManager. The ParabolicManager
is responsible for triggering all the messages to tasks
that are neighbour to the hovered task. This will
help a lot to catch cases such as separators and proper
clearing zoom.
--when the attention animation is played for a task
and the user hovers that task, the animation is ended
smoothly and if the mouse is still hovering the task,
the tasks are restored correctly
--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
--new architecture for the internal tasks separator,
one of which we can build upon for the future... No
breakage in the animation now, it is much smoother and
cleaner... but... it is needed to update all the pieces
around in order to work properly on all cases...