--the dock settings window calculations should not look
different between different font settings/geometries/screens.
One way to overcome that issue is by using the font.height to
calculate the settings height, that is 37chars for now and
the width to be calculated in accordance with that height. There
are some down limits for both, height shouldnt overcome screens
height and shouldnt go under 400px and the width can not be
less than 200px
CCBUG: 397038
--to make things even more robust the dock settings
window width is made a portion of the dock settings
window height. The code was also checked in order to not
create any bindings loops
BUG: 396872
--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.
--use QtControls 2.2 for Sliders in dock settings
and update the Latte required version to 5.9 which
is LTS. Most distros should have already updated
to that one.
-as it appears the PlasmaComponents3.Slider
was adding too much visual distraction. I had
to fork it in order to use it dock settings
window. We needed the behavior of wheelEnabled
in order to disable it and the only slider
providing it from Qt 5.7 was the QtControls 2.0
Slider
--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
--fork the PlasmaComponents Slider in order to
update to newer Qt version and support the
wheelEnabled property. After that just disable
wheel for all sliders in Appearance page.
--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.
--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
--in case the user has strange settings for its font
the settings window might become too high with no reason.
We limit this settings window height based on the screens
resolution height.
--exhausted to discuss this so often so in the
end it may be my perspective wrong. Quit button
in dock settings window changed to Close button
and the Quit option moved to menu bar of the
general Latte settings window with shortcut
Ctrl+Q
--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.
-- 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
--remove the Plasma Label that was used to set
the Latte trademark based on Tangerine font that
was distributed from app source code
--remove the Tangarine font from source code
--when the secondary config window isnt created
(e.g. when the screen resolution is very small),
in such cases the relevant options are added in
the main config window
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
--move Active Applet Indicator to Appearance page
and make its layout more consistent with the rest
design
--move Glow options above the Applet Shadows that
may be used more rarely
--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.
--the panel opacity shouldnt be set in some
cases when the maximized states are used or
when the solid panel is enabled and no
maximized filters are used
--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 Copy functionality creates broken config files. It
must be disabled!!! the applet ids are no longer updated
correctly from the importLayout function! This must be
fixed from our part!
--add functionality for layoutManager
--add widgets action and alternative layout action to
layoutManager
--remove more functionality that belongs to globalSettings
--improve the signaling between the configuration window
and the dockview concerning freeEdges for current screens
and docks count. Now the docks counting is different
between screens and in general
--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
--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)
--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
-- 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