--in order to overlay properly the panel background
a roundness option was needed that takes into account
which borders should be drawn. In an upcoming commit
the user will be able to adjut the current plasma
theme roundness. The Colorizer is using now the
CustomBackground in order to draw the background
when the user wants to draw the contents based on
the current active window color scheme.
--support painting based on the active window scheme.
Added a schemecolors class for this and updated
abstractwindowinterface to provide tracking for windows
color schemes.
--fix also a case that the user hasnt enabled to
show panel background at all from the Show option
and the shadows where shown because they were
chosen before it was disabled by the user
--do not consider preferredWidth or preferredHeight
for applets when that value is <=0 otherwise that
applet it may become invisible. Such case is the
plasma analog clock when it is locked at a vertical
dock
BUG: 398098
FIXED-IN: 0.8.1
when the plasma theme was not supporting shadows then
Latte was double drawing the panel background when
the user has chosen that wanted shadows
BUG: 397980
FIXED-IN: 0.8.1
--many plasma themes provide a different panel
background per edge, with different styles or
transparency levels. Latte now respects the
plasma theme concerning the panel backgrounds
found in a plasma theme.
--the background contrast effect should be applied
only when the dock/panel is visually solid otherwise
it may block the transparency settings
BUG: 397431
FIXED-IN: v0.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
--removing the option to check blurring
based on whether a panel is solid or not
and also check !compositing. Blurring doesnt
make any sense at !compositing environments
BUG: 396955
FIXED-IN: 0.8.1
--trying to combine dock mode, panel mode and
parabolic effect with plasma applets current implementation
can create such issues. Removing the zoom=1
criteria to activate the Latte MouseArea. The
user can still lock plasmoids that want the
Hover Default Plasmoid behavior or use the
Latte protocol to understand when they are in a Latte
containment.
FIXED-IN: 0.8.1
--in multiple layouts environment the user
may prefer different settings for its global
shortcuts, in some may wants to use global
shortcuts for its applets and in another
layout may not.
--when an application launcher exists, Latte can show
a "Meta" badge for that applet instead of the global
shortcut action number. With this patch we take also
into account when the assigned application launcher is
in different dock/panel and show it accordingly
BUG: 396753
--v0.8 introduced unified global shortcuts for all
cases, that means that applets are also taken into
account for Latte activation/new instance global
shortcuts. A new parameter is introduced with
the patch at Latte global settings file called
"unifiedGlobalShortcuts", the user can set that
parameter to false before Latte startup in order
to use only global shortcuts relevant to the
Latte plasmoid.
--a visual indicator in order to show which plasma
applets have been overloaded from Latte. The overloaded
mechanism is a way in order to make these applets work
properly with Latte parabolic effect
--this is the first beta release for
v0.8. Everything will be open for the
upcoming days including translation
strings improvements. Beta2 possibly
will introduce a string freeze.
--The Plasma layout is using the Latte plasmoid. By
following that case the neutral applets areas werent
activated. This is fixed now and also the click animation
in such cases.
--when a dock was changing location and kwin
effects where enabled then a crash was appearing
under wayland. So we block drawing effects when
a dock is inTempHiding or inForceHiding
--allow the applet developers to set at their
applet main file:
property bool disableLatteParabolicIcon: true
in order to disable any Latte functionality
concerning the parabolic icon
-- allow the applet developers to set at their
main file:
property bool isInLatte: false
in order to be informed by Latte when they are
in a Latte containment. For what ever purposes
the developers need to adjust to their plasmoid.
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.
--the following case:
[Windows Go Bellow + Top Panel + Panel Transparency<40%
+ "Improve Visibility" + "Not Forced Solid Background
for maximized windows"]
disables the colorizer because the role of the background
is done from the window titleBar.
--update issue #957 in order to take into account
semi-transparent panels. With semi-transparent panels
contrast could be a puzzle. The changes that
introduced with this patch are:
1. Enable Improve Visibility when also case [E] from
#957 is enabled.
2. When a semi-transparent panel exists in combination
with Improve Visibility option then add a threshold
in order to indicate if the Colorizer will be applied
or not. The threshold is 40% in order to indicate if
a semi-transparent panel is solid or not.
--because focus is lost from dock tooltips the
dock settings window was closing. We take into
account that case in order to not close the
dock settings window in such case
--implementation of the design decisions described at
issue #957. Panel Background and Dynamic Background
options interact with each other concerning
panel transparency and triggering of solidness or
transparency.
--by default now Latte supports the KWin Edges mechanism,
this way the following issues are fixed:
fix#935, fix#721, fix#687, fix#512, fix#514
--improve dock behavior when the user user touch
gestures
--fix #144, support KWin bright placeholders
--this behavior can be disabled if the user prefers
the old one from the Tweaks page
--in !compositing no more is shown a 1px line at
the screen edge when the dock is hidden
--support KWin Edges in Multiple Layouts state under
X11
-- the mousearea used for the parabolic effect
can block some important signals to go to
underneath applets. We make sure that such
signals are not accepted, and as such are
forwarded to underlying applets.
--in Justify alignment fillWidth(s)/Height(s) applets
may exist. In such case the calculations for their values
should be activated because there is a chance that the
panel contents would go out of bounds and out of
screen. This way we make sure that all contents will be always
visible.
--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
--when the plasmoid is hovered when the
applets hoveredIndex should be initialized
and when an applet is hovered then the plamoids
hoveredIndex should be initialized to -1.
--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.
--when the user has chosen to activate tasks
through mouse wheel and there are applets that
can be hovered, then for these applets the mouse
wheel can be also used to activate/deactivate them.
--in Justify alignment and normal mode, setting the applet
to have as parent the root qml Item it creates a stack in
a lot of cases... By setting the applet container item
directly to more proper parent fixes any issue.
--enhanche the dynamic background feature and
in ordre to improve contrast with the underlying
background Latte now calculates the luminosity of the area
underneath the panel and based on that chooses the
best color to create contrast. The colors are chosen
only between textColor and backgroundColor.
--when the user has disabled the panel background
but has enabled a solid background for maximized windows
then in such case the panel background must be enabled
for when it is needed
-- in dynamic background it might be important for
the user to increase the contrast because the textColor
from plasma theme and the background might not provide
readable contrast. This feature adds this by giving
to the user the choice to have as monochrome layout
when the panel is transparent to theme.backgroundColor
--when we are able to force solidness even though
the plasma theme may never provides that, because
the svg file has some tranparencies in it. Then
for such cases we support it. Such is case is when
the panel is behaveAsPlasmaPanel and maxLength=100%
--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
--use internal edit mode to wm's visibilitymanager.
More specific use it in AlwaysVisible mode in order
to not publish the new struts because the animations
have ended.
--the new kde activeWindowControl becomes active
when is showing menus. That conflicts with Latte
internal heuristics in order to not show or show
dynamically panel shadows, active indicators etc.
--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.
--consider reverse Lines and show glow case in order
to add this in the thickness calculations
--consider the applets shadows when shrink thickness
is enabled
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