--fixed struts gap for !compositing mode in order
to handle the strange kwin behavior. Kwin under
!compositing removes 1px. from the struts specified
by windows
--plenty of fixes concerning automatic coloring
under !compositing mode
--following plasma approach and use always
even for !compositing mode the widgets/panel-background
svg file. This way when Latte and Plasma panels are
combined there is uniformity between them.
BUG: 406597
--this patch positions correctly behaveAsPanel view
types in !compositing mode concerning and taking into
account maxLength and offset
--the patch introduces also an AppletsContainer to
substitute all three layouts of LayoutsContainer
--this is side-way path for mouse events and
more specific the mouse pressed, released
events to be sent from parent window to its
qml containment part. This way it is possible
to keep the original plasma applet behavior
such as original plasma tooltips and provide
Latte specific functionality such as animated
clicks from indicators.
NOTE: An investigation - testing took place in
order to check if this approach could be also used
for mouseMove events to be used for applets parabolic
effect. The result was that this was not possible because
there were too many signals and too much calculations
too identify for which applet the signal belonged to.
The parabolic effect was not fluid in that case and
could not catch up.
--infrastructure is now ready to expose to
applets the full color paletter and not
make compromises by choosing only from
original plasma theme for some of the
exposed colors
--dont reverse colors for selection group.
It creates a much nicer effect from user point
of view to keep the highlighting colors the
same for both the normal and reversed plasma
themes.
--providesHoveredAnimation, in order to disable
the Latte one
--providesClickedAnimation, in order to disable
the Latte one
--needsMouseEventCoordinates, in order to know
when the mouse pressed e.g. creating animations
like the android way
--fix how applets are identifying their index when the
user switches alignments from Justify to Another and
vice versa. More specific this patch helps in order to
not break the parabolic effect between alignment changes.
--the Latte Settings window tries its best in order
to provide a nice experience concerning its width/height
ratio and a width size that is best for its contents.
There are cases that this fails so the user in the
best to set it right. Latte now provides two shortcuts
Meta+Scroll, that changes the width scale ratio and
Ctrl+Scroll, that changes the height scale ratio when
settings are in Basic mode.
The previous shortcuts must be applied when the mouse
is over the empty areas in the Settings View window.
--based on the current indicator there minimum
thickness and indicator padding can be altered.
Providing some visual feedback for the user to
understand these limits is a good practice.
--there is a combinantion of settings that enables
plasma original applet behavior.
1. the applet is locked and is not using parabolic effect
2. the zoomfactor === 1 and the user has not activated
title tooltips
Summary:
When iconSize is not big enough, center aligned shortcut badges look better than top-left aligned ones.
BUG: 406037
Test Plan:
- When iconSize < 48: shortcut badges are center aligned
- When iconSize >= 48: they are top-left aligned
For example, with iconSize = 32:
Before:
{F6736365}
After:
{F6736366}
Reviewers: #latte_dock, mvourlakos
Reviewed By: mvourlakos
Subscribers: mvourlakos, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20128
--introduce a new class called level which contains
all the needed information concerning indicator level
and at the same time the bridge that provides information
for the specific indicator states
--try to improve experience for liveEditingMode and
inConfigureApplets. LiveEditingMode should be as much
as nearer to the standard experience and inConfigureApplets
state should provide nice coloring
--in order for all indicators infrastructure to
load the plugin correctly the configuration and
the component elements of ViewPart::Indicator
must be loaded first correctly and afterwards
the relevant Indicators to follow
--there is now an always shown underlying layer that
provides full solidness for 100% panel transparency
--Colorizer.CustomBackground was updated in order to
support Borders drawing
--indicators now support both Back/Front
layers. Back layer is the usual layer
behind the current Item and the Front layer is
a layer above the current Item (overlay)
--update Unity to follow new architecture
--now that masking is used in order to subtract
mask areas that overlap with underlying config
windows, the edit shadow can be as big as we
need with no problems
--now config windows are masked properly in order to
accessible to all of their areas. By design the config
windows are trying to be below the main view, this is
why masking is needed in order to work properly and not
having areas that can not be clicked/accessed because
of the top Latte View
--meaning that edit Visual can contain more
elements than just the usual ones and as such
we can now add a "Rearrangement" option to make
things easier to switch between live/static editing
--improve and restructure all editMode in order
for Ruler and EditMode to be ready to accept more
direct available settings in settings overlay
section.
--first commit to restructure editMode in order to
support livemode under editing. Live mode means
that all options changes during editMode will be
available to be tested directly
--applets can now use the LatteBridge in order
to send/receive messages between them. A good
example of this could be the window title and
the window appmenu applets in order the hide
and show themselves based on mouse hovering.
--the user can now have back the plasma theme style
in more cases such as when Theme:Smart, WindowColors:None,
and has enabled from DynBackground for solid panel
background when windows are touching
Summary:
--this way any part interested to know the
real type of Latte::View it can access the
all new type() property
Test Plan:
test view settings that indicate correctly
the panel/dock type
Reviewers: trmdi, #latte_dock
Reviewed By: trmdi
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18926
--use plasma way to layout the applets. With this
fix all the applets layout is improved vastly
especially concerning more the plasma indicators
trigerred by applets.
--the user can disable "global shortcuts based
on position" by disabling the global shortcuts
for the first two latte items
--improve texts readability
BUG: 403880
--do not delay updating the tasks indexes and counts in
Latte plasmoid in order to avoid inconsistent values
during startup. Now entries activation works immediately
after startup
--activeIndicatorEnabled, applets can use it in order
to enable/disable the Latte Active Indicator for them
--parabolicEffectEnabled, applets can use it in order
to disable Parabolic Effect (zoom) for them
--when there was only one applet in the Center under
Justify mode then during startup its positioning broke
as it was placed faulty at the far right
BUG: 403469
--When the user has chosen a solid background when
there are windows touching the Latte panel then in
such case windows that are touching the panel not
just at the edge but at the at any point of the latte
panel are also considered as touching windows
--The "snapped" term that was used before in the
visibilitymanager was changed to "touching"
--when the user has enabled the monochrome colorizing
in that case in applet options there is now a new option
in order for the user to choose if wants or not that
applet to be colorized. Such an example are colorful
applets that lose their proper appearance through
monochrome option.
--the new improvements are trying to make Latte panels
and Plasma panels to look and behave almost the same.
This way implementing applets for any of them wont be
needing adjustments or workarounds to work properly
for both.
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
--the luminas functions didnt work well
for all cases. Latte is now using brightness
functions as described at:
https://www.w3.org/TR/AERT/#color-contrast
this patch fixes all cases mentioned in the bug
that Latte contrast identification did not work well
BUG: 402115
--when the colorizer informs the applets to paint
themselves based on the current plasma theme some
of them (e.g. Window Buttons) may still need access
to that color palette through the schemeFile variable.
To support also this case Latte provides the default
theme scheme file at all cases.
--enable shadows by default on startup otherwise
the FrameSvgItem sets is imagepath to "" and that
can create a crash during loading/unloading a
layout
-rename also to shadow to innerShadow for
better naming. This shadow is used when the
shadow is drawn inside the window from qml
side, such examples are the dock case and the
editVisual case
--improve how the applet size is calculated for fill(s)
applets when such applets are used in Left/Center/Right
alignments. This also fixes the bug that the plasma
taskmanager was not updating its size properly when tasks
were added after the initialization phase.
BUG: 401456
--Debian packagers requested these files
in order to confirm the creators and licenses
for icons. This has arised again
in the past when Latte was introduced
for Ubuntu so it is good to end this
once and for all.
The creator for logo icons in folder "icons/"
is Alexey Varfolomeev and has granted GPLv2
for its icons. Alexey is a well known kde artist
and Latte project is thanking him for its fantastic
contribution, we love its icons! :)
The creator for pattern icons in folder
"containment/package/contents/icons/" is
me, Michail Vourlakos and I have also granted
for them a GPLv2 license.
The creator for icons in folder
"shell/package/contents/images/" is me,
Michail Vourlakos and I have granted
for them an LGPLv2+ license because of
their simplicity
BUG: 400758
--the user can use applets such as
plasma icon-only taskmanager to alignments
Left,Center,Right. In previous versions
this was possible only for Justify alignment.
--applets can have different main elements based on their
implementation. In such case we use a depth of 2 in order
to search for elements that contain variable isInLatte
--this item is fully responsible in order to
communicate the latte containment with any
underlying applet. A protocol specification
is used in that item in order for applets and
latte to exchange information.
currently supported:
ingoing parameters (to applet):
bool isInLatte // is in a Latte dock
outgoing parameters (from applet):
//deprecated from disableLatteOverlay
bool disableLatteParabolicIcon
bool disableLatteOverlay //dont use Latte overlays
--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.