Commit Graph

819 Commits (074d9efee17806e16af0a651d2c386616be61c3a)

Author SHA1 Message Date
Michail Vourlakos f6b4aa55cf support background painting based on window 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.
Michail Vourlakos 500b3d2b86 respect shrink margins for thickBase
--increase also the minimum for thickHigh in order
to follow plasma design

BUG: 398950, 398951
FIXED-IN: 0.8.2
Michail Vourlakos f4c9060bff update delete icons to plasma design
BUG: 398941
FIXED-IN: 0.8.2
Michail Vourlakos 0f79c08e86 simplify code readability for panelShadowsActive
--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
Michail Vourlakos fc8a531837 fix disabled monochrome contents for no background
--when the user had chosen monochrome contents and had
disabled the panel background totally the case wasnt
activating monochrome contents when needed
Michail Vourlakos ec0e16ca5a consider preferredSize(s) only for >0 values
--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
Yuri Chornoivan 7323068f36 Fix minor EBN issues
Michail Vourlakos 87094a6fe7 dont draw panel shadows when theme doesnot provide
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
Michail Vourlakos 6070d2b0f0 restore panel shadows for docks
Michail Vourlakos 81d3a12e91 respect different panel backgrounds from theme
--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.
Michail Vourlakos 78b41eff91 use current transparency to update effects
--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
Michail Vourlakos 9a69323293 smarter badges identifier for activation shortcuts
--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
Michail Vourlakos fef362a52f a way for the user to change settings window size
--user can now use Meta+ScrollWheel in order to
increase/decrease the size of the dock settings
window according to its preference

BUG: 397038
Michail Vourlakos b5954009c2 Blur is not working for solid panels
--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
Michail Vourlakos e7bd3f5aaf dont block tooltips for zoom scale=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
Michail Vourlakos 8251fa8263 forward wheel events for underneath plasmoids
BUG: 396811
FIXED-IN: 0.8.1
Michail Vourlakos e908c1207c fixes badges from applets
--fix for binding loop for applets badges
--dont hide applets number badges on hovering
Michail Vourlakos 3ea01dfafc fix badge text warning and border.color
Michail Vourlakos 6cff0be9c1 enable Meta forward from KWin to Latte
In Latte Preferences the user can now enable/disable
the Meta key forwarding for showing the
Application Launcher

BUG: 396754
Michail Vourlakos d4cb4e2410 setup unified global shortcuts per dock
--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.
Michail Vourlakos 6708510213 support a meta badge visual from global shortcuts
--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
Michail Vourlakos 00d15a7906 support no-unified global shortcuts
--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.
Michail Vourlakos 91a1736b14 add debug flag for overloaded applets
--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
Michail Vourlakos 50a4727ffa fix #867,enable neutral areas in corner cases
--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.
Michail Vourlakos 28f0bed9dd fix #997,decrease text size when needed
Launchers Area text wasnt decreasing its size for
very small thickness.
Michail Vourlakos 83be8d9b20 fix #986,option to not group tasks
--give the user option to group or not
tasks of the same application by default
Michail Vourlakos 2d9b5376b7 add missing license headers in javascript files
Michail Vourlakos 62497561d2 Revert "wayland fix crash when changing location"
This reverts commit 797ead1f1d.
Michail Vourlakos 797ead1f1d wayland fix crash when changing location
--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
Michail Vourlakos 506d23d948 enable parab.effect for latte spacer
Michail Vourlakos 7930b5950d remove present windows applet from blacklist
Michail Vourlakos c14470c742 fix #983,expose latte availability to applets
--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.
Michail Vourlakos 7f89bd99b0 fix #985,use same style for tasks/applets numbers
Michail Vourlakos 6881d8fbbe fix #970,parabolic effect fix
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.
Michail Vourlakos 76af94b59d reposition applet spacer visual debugger
--this way the applet spacer visual debugger
uses the same metrics with its plasmoid
counterpart
Michail Vourlakos eec2927f88 updates for hidden tasks and int.separators
Michail Vourlakos 2742be427b fix #901,show windows only from launchers
--add an option to tasks filters in order to
hide windows that do not have launchers
Michail Vourlakos 0c956fac77 fix #961,Improve Visibility consider WindowsGoBelow
--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.
Michail Vourlakos 13e8791213 add a few margins for applets tooltips
Michail Vourlakos 92c025d94d show tooltips by default
--shows Latte tooltips by default except
if an applet is locked or zoomfactor==1
Michail Vourlakos ca6188bf46 remove transparency from Colorizer colors
--the plasma theme may have set for textColor
and backgroundColor, colors with transparency.
This can mess up the "Improve Visibility"
feature.
Michail Vourlakos 2967eea11a fix #961,Semi-Tranparent Panels at ImproveVisibility
--update issue  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
  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.
Michail Vourlakos cd8676e62a blacklist from applet from heuristics
--blacklist "com.github.zren.presentwindows" from
Latte heuristics in order to work correctly with
it.
Michail Vourlakos f49951566b Revert "change window type for applets tooltip"
This reverts commit fec2756266.
Michail Vourlakos fec2756266 change window type for applets tooltip
--change type to PopuMenu because Dock interacts
with wayland windows stangely and ToolTip doesnt
provide a beautiful theming.
Michail Vourlakos 065f92bb70 show maxLength value at relevant tooltip
Michail Vourlakos ba2acef2c1 fix warning
Michail Vourlakos 0712d62a3b dont lose focus from dock tooltips
--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
Michail Vourlakos 820dff0bb5 improve calculations of panelEdgeSpacing
Michail Vourlakos 8f33a4f722 take into account if an applet is locked
--if in applet is locked from the user then we
dont need to try to enforce the parabolic manager
rectangular layouting.
Michail Vourlakos e0707b684e fix #956,take into account panel transparency
--implementation of the design decisions described at
issue . Panel Background and Dynamic Background
options interact with each other concerning
panel transparency and triggering of solidness or
transparency.
Michail Vourlakos ad16d8d1b8 use plasma desktop version for folderview
Michail Vourlakos 60531484e9 simplify PanelBox states
--combine Center and Justify panel alignments
concairning their anchoring
Michail Vourlakos 285d00a21c dont blur in forceSolidPanel if it was deactivated
Michail Vourlakos f5bcb6462e disable active indicator for plasma appmenu
Michail Vourlakos da5cb9c61f fix #946,improve kwin edges support
--make the behaviour more robust and be more
precise at geometries used at all times
Michail Vourlakos 3ea40954fc fix #942,show dock when dragging at kwin edge
-- enable showing the dock if the user drags something
on it and the dock is hidden at a kwin edge
Michail Vourlakos 7ce5938312 add internal separator through drag n' drop
Michail Vourlakos 2b2ddfeb70 improve contrast for Launchers Area text
Michail Vourlakos 1f0acbc3b5 Support KWin Edges mechanism
--by default now Latte supports the KWin Edges mechanism,
this way the following issues are fixed:
fix , fix , fix , fix , fix 
--improve dock behavior when the user user touch
gestures
--fix , 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
Michail Vourlakos 18151ec023 disable "visibility improvement" for !compositing
Michail Vourlakos a3ebd17070 fix #928,pass propagated events to applets
-- 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.
Michail Vourlakos edc8905ea8 improve slide out animation
Michail Vourlakos c65d037468 fix startup warning for Colorizer
Michail Vourlakos 8a3239c924 fix #913,update Justify calculations in editMode
--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.
Michail Vourlakos 40fc0ca717 block automaticIconSize inTempHiding
Michail Vourlakos c6d755eb27 delay sliding-in when changing location
--the sliding-in is delayed a bit when
changing location in order to create a more
predictable animation for applets
Michail Vourlakos 35f53e6428 animations improvements
--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
Michail Vourlakos 607d6b4f4a hide plasmoid preview when hovering an applet
Michail Vourlakos 452e93c33e improve update of hoveredIndexes
--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.
Michail Vourlakos b2d917026f enable directRenderDelayer after hiding
Michail Vourlakos 0bb70c1595 drop fastEntering for directRenderDelayer
--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.
Michail Vourlakos 5b77c09faa improve fastEntering tracking
--take into account both hoveredIndexes
(applet & containment) for fastEntering
identify.
Michail Vourlakos 6153ede9d7 fade-out colorizer
Michail Vourlakos 4cf4351b80 improve all luminance calculations
--provide more accurate calculations for luminance
based on algorithm at:
https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
Michail Vourlakos 2658dce93e use mouse wheel to activate applets
--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.
Michail Vourlakos 42793475c5 fix #910,set added applet parent to dndSpacer one
--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.
Michail Vourlakos b8321fb829 fix #905,smart colorize transparent panels
--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.
Michail Vourlakos 4d6e986d2b use panel theme in some cases that isnt chosen
--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
Michail Vourlakos 198ce090ef enable monochrome panel for transparent panels
-- 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
Michail Vourlakos c7915677bd improve splitter icon color/contrast
--fix also splitter icon size when adding for
first time in EditMode
Michail Vourlakos de4cddb5d3 update internal splitter icon to use plasma theme
Michail Vourlakos 6bb7f0ab51 improve context menus for wayland
Michail Vourlakos cd3616537c set minimum maxLength to 30%
--when the user was using the mouse wheel to change
the maximum length, the maximum length could get
lower values than 30%
Michail Vourlakos d6740bb378 fixes for wayland
Michail Vourlakos 3a77754ef3 update edit mode image patterns
--increase contrast and add some noise in them
Michail Vourlakos db58a24040 dont count internalViewSplitters for globalShortcs
-- as mentioned at 
-- improve also the semantics of globalShortcuts
Michail Vourlakos 1ff161a030 updates and improvements at applets glob.shortcuts
Michail Vourlakos 103b901125 support showing applets numbers with badges
-- this is used mainly from globalshortcuts triggering
Michail Vourlakos db28c6bcaf use globalshortcuts with containment also
--we are trying to expose an applets calling
mechanism that is combined with the latte plasmoids
one with a nice beautiful way
Michail Vourlakos a75984f564 force solidness in behaveAsPlasmaPanel
--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%
Michail Vourlakos 908425c00d !compositing,set correctly current geometries
Michail Vourlakos e370f0447f fix editShadow for compositing mode
Michail Vourlakos 657d86033f respect user settings for applet shadows
Michail Vourlakos cce68d0653 update maskArea when effectsArea is changing
--this applies only in !compositing mode, because
is that mode effectsArea is always more accurate
instead of the mask calculations!
Michail Vourlakos 3d6ff9583b disable animations for !compositing mode
Michail Vourlakos 6de4db1ba3 improvements for !compositing mode
Michail Vourlakos 6d08319c10 disable dynamicBackground for !compositing
--disable also the panel opacity for !compositing
Michail Vourlakos 444c730048 improve calculations of !compositing mode
--fixes the bug with the yellow line outside the
Latte panel because of wrong mask calculations
Michail Vourlakos 5b3c00ff8c improve code for enable/disable checkRestoreZoom
Michail Vourlakos b607e25a4c reduce interval of checkRestoreZoom
Michail Vourlakos 7c5d550e9c fix #871,improve clearing zoom indicators
--accept clearZooms only in both hoveredIndexes
are -1 (for plasmoid and containment)
Michail Vourlakos b12cf1446a orchestrate better directRender for plasmoid
--use same techniques with the containment in order
to activate/deactivate the directRender through
the latte plasmoid
Michail Vourlakos 14ffc70088 cleanup deprecated directRenderTimer/containment
Michail Vourlakos 7c1cd0cb70 improvements to applets parabolic effect
Michail Vourlakos 00241dcd8f fix breakage in par.effect from separators applets
Michail Vourlakos 9fdb1b598d increase parabolic effect speed
Michail Vourlakos 53633290fc block parabolic animations onEnter event
--calculations for parabolic effect are blocked
at the onEntered events because the mouse position
is faulty and breaks the animations
Michail Vourlakos 3a2b0f7fd6 animate iconMargin when changes
Michail Vourlakos 05e08e57c5 delay a bit the directRender activation
--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
Michail Vourlakos 764f7d06b6 fix Justify Splitters behavior
--because of new introduced functionality from MaxLength
Splitters broke. This commits fixes their behavior
Michail Vourlakos 1a3cb13094 use same font metrics for qml and c++ code
Michail Vourlakos 14fa05745f remove kwin effects when hiding editVisual
Michail Vourlakos f2375e6f1f animate Ruler properly
Michail Vourlakos c6408564d0 make the containment background aware
Michail Vourlakos 43fcb659af use single shadow for EditVisual
--remove also deprecated code from EditVisual
Michail Vourlakos 41117e9290 add background and textColor to layout
-- auto-adjust the textShadow for Ruler based on
the textColor luminosity
Michail Vourlakos 9c18e5dbef fix warnings
Michail Vourlakos 0281fc7993 fix warning from ConfigOverlay
Michail Vourlakos 4e4ae54896 fix warnings from PanelBox
Michail Vourlakos 7e6aacd158 fix warnings from Ruler
Michail Vourlakos 277a0b3c43 fix warnings in LayoutsContainer
Michail Vourlakos 97fa6f7e61 block rulerMouseArea for normal mode
Michail Vourlakos 97e8b58df2 dont blacklist activeWindowControl
-- the fix will come up from upstream! ;)
Michail Vourlakos 6738a07f4f fixes for editMode tooltips
--remove also deprecated code
Michail Vourlakos 3195cc206c enable ruler tooltip in editing mode
Michail Vourlakos bfc64dbe57 add mouse indicators for hidden scrolling actions
--mouse indicator when hovering the Latte spacer in order
to give a hint to the user that he can use the mouse wheel
to increase its size.
Michail Vourlakos ef8256f815 use mouse scroll to increase maxLength from Ruler
Michail Vourlakos 976494ed09 enable smooth animation when changing alignments
Michail Vourlakos dcbc720425 dont update dock geometry for panels/editMode
Michail Vourlakos 23008b5903 enable glow choice for behaveAsPlasmaPanel
Michail Vourlakos fdd7d2c975 support Latte foreground palette for ruler
Michail Vourlakos 9e4ec510f9 increase topMargin at behaveAsPlasmaPanel
Michail Vourlakos 61c28978e6 publish internal ediMode to dock
--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.
Michail Vourlakos aba33ef7d5 improve calculations for editinig thickness
Michail Vourlakos fbe1fd4268 update runtime behaveAsPlasmaPanel in editMode
Michail Vourlakos 65c067f428 improvements for Ruler
Michail Vourlakos 5b216845a3 update automatic icon size,starting editMode
Michail Vourlakos c2339043d6 improve ruler layout when changing locations
Michail Vourlakos 894af1867b improve calculations for editingmode
Michail Vourlakos 408476ce58 improve editMode triggering
--take into account the animations during
editMode activation/deactivation
Michail Vourlakos 96c9a22b70 lower maxLength text in dock mode
Michail Vourlakos 794e290ca5 position maxLength label correctly
Michail Vourlakos 4b822e4564 fix calculations for max values
Michail Vourlakos f5f254c0db enable automatic sizes in edit mode
--block also the editing background to
change size
Michail Vourlakos 432241dd93 improvements for new ruler
Michail Vourlakos 73229c5fbc give some more space in editingVisual for ruler
Michail Vourlakos 5feecd53b2 improve editing visuals
Michail Vourlakos 431ec79088 force all DropShadows to fast mode
Michail Vourlakos da5fc3fe1a fix #862,blacklist new activeWindowControl
--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.
Michail Vourlakos 3462562a81 fix #857,improve par.effect with tooltips
--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
Michail Vourlakos 5633d6694d show title tooltips only when the dock is ready
Michail Vourlakos 23cd5ea33e fix glitch when clicking of applet neutral areas
Michail Vourlakos 71087b1c3f ignode kde activeWindowContronl from activeindicator
Michail Vourlakos fee5000c44 dont draw ext.shadows and blur on temp/forceHiding
Michail Vourlakos 62f847ecac fix #856,update hoveredindex after animations end
--this way we are trying to delay a bit the directRender
mode when the dock is hidden
Michail Vourlakos 61227abaeb ALWAYS Restore Task Animation
--VERY IMPORTANT CODE, fixes a bug when cycling the mouse
very fast inside and outside the dock, in some rare cases
the restoreAnimation didnt end!!
Michail Vourlakos 5245a01f0f update a bit the zoom-out timer intervals
Michail Vourlakos b8fe25de2a dont blur while inStartup or closing
Michail Vourlakos 5593b515f4 update zoom-out animations
Michail Vourlakos c129743aa9 use a new zoom-in animation type
Michail Vourlakos 2957c50dd0 Revert "update zoom-in animation type"
This reverts commit cc6779d0c4.
Michail Vourlakos cc6779d0c4 update zoom-in animation type
Michail Vourlakos 15cff730ab stop restoreAnimation in directRendering
--issue , when directRendering is activated
some of the tasks could be in restoreAnimation,
in such case they stop their animation are moved
to directRendering mode
Michail Vourlakos 8cf6f49bb9 improvements to parabolic effect
--issue , 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.
Michail Vourlakos db0d803e2d slide-in docks on startup
Michail Vourlakos 2987e406db block signalUpdateScale if task/applet containMouse
Michail Vourlakos 0ee59fc97c reduce the resistance for enabling directRendering
--references fix 
Michail Vourlakos 2a78437996 add some resistance in activating directRendering
--add some resistance for the functionality added for
issue 
Michail Vourlakos 31caea4a51 fix #852,go to directRenderMode faster
--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.
Michail Vourlakos 09691438e2 block for 1sec automaticIconSize costly function
Michail Vourlakos d0064e622d dont animate iconSize in editMode & behaveAsPanel
Michail Vourlakos 33d253d6ce improve calculations for geometries in editMode
Michail Vourlakos 7bb2db306a separate edit shadow visual from its image
Michail Vourlakos 527fe54da7 improvements for EditMode Visual
Michail Vourlakos d97a819bc1 enable mouse sensitivity for parabolic effect
Michail Vourlakos b64bb1f9d2 use very high sensitivity for parabolic effect
Michail Vourlakos b5ccba44b1 Move Dock from Layout to Layout
-- In the configuration window at the "New Dock"
ComboBox were added options in order for a dock
to move to another running Layout.
Michail Vourlakos 8244d3218e fixes for thickness calculations
--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
Michail Vourlakos 60cc89d595 MultipleLayouts:restore isSwitching signal
--this creates a nice animation when switching
layouts for orphaned Activities at a Multiple
Layouts state
Michail Vourlakos 274c6a653d add managedLayout to dockView
--this way a dock can belong to specific Layout
and this could be changed runtime in a multi-layout
runtime environment
Michail Vourlakos 9473f5b7a2 fix thick and applets alignment in reverse mode
Michail Vourlakos e3d1001861 indicate automatic the automatic shrinking
--if there is an applets that requests fillWidth or Height then
the automatic shrinking isnt working
Michail Vourlakos 2d16bcd976 draw panel background correctly after themeChange
Michail Vourlakos 10f3f6613d fix breakage of parabolic effect after slides out
Michail Vourlakos cb69a9c7c6 slide out/in also in user screen change
Michail Vourlakos f7b8cedb3c improve semantics for location change slide out/in
Michail Vourlakos afcdd1b726 hide docks animation when changing layouts
Michail Vourlakos 4692b87bb5 improve GlowPoint contrast
Michail Vourlakos fa1ef2f17d move GlowPoint to latte library
--this way we can use the same code between
plasmoid and containment
Michail Vourlakos b749a1f7e6 fix for dynamic background
Michail Vourlakos a6efa4b112 count shadow size in length mask size
Michail Vourlakos 99bb0a5c87 fix #817,count shadow size for mask thickness
Michail Vourlakos d86fdfd2ff fix #810,support smart/dynamic background
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
Michail Vourlakos bc7a9eac9a fix #811,timers to check previews/menus/tooltips
--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
Michail Vourlakos 43a6e18617 follow Fitt's Law when shrinking thickness
--when the latte panel behavesAsPlasmaPanel and
the user has enabled also shrinking the thickness
then Fitt's Law can be followed.
Michail Vourlakos c169858b71 improve glow painting
--reduce a lot the painting issues that didnt
paint glow parts correctly
Michail Vourlakos 253eb7a8e2 dont count latte plasmoid as expanded
--this solves making the dock background fully shown
with no transparency at all when a task in the plasmoid
needed attention.
Michail Vourlakos 90f7ae8fed improve margins for shrinkThickMargins
Michail Vourlakos 0077029e3f identify kdeconnect sms applet
Michail Vourlakos 6722162826 fix applet line active indicator issue
--the applet line active indicator wasnt updating
correctly its size when hovering
Michail Vourlakos 7b27dfdf33 disable directRendering after automatic icon size
Michail Vourlakos 1d8eea28bb slidingIn/Out during locationChange signal
Michail Vourlakos e89d9f17e6 fix #789,hide indicator item when inAttention
--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
Michail Vourlakos ff70d4a9d2 improve/fix small issues with panel behavior
Michail Vourlakos efb04895be improve activate applets for neutral areas
Michail Vourlakos 43b08217a2 expand applets when clicked in neutral areas
--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
Michail Vourlakos 246f5ed800 fix handler placement in RTL
Michail Vourlakos 920de6cd6e fix RTL layout for vertical and alignments
Michail Vourlakos 5f148b950e support RTL to tooltips and previews
Michail Vourlakos 32c74f818e fix parabolic effect for RTL
Michail Vourlakos f8f78566f9 apply layout mirroring for RTL
Michail Vourlakos e0a3bd9f80 support nomad systray in Latte
Michail Vourlakos 3ca45d0eaa fix #772,improve shadows behavior for solid panels
Michail Vourlakos c108cd4953 improve shadow positioning in glow
Michail Vourlakos 7b8efcaed7 implement fully active indicator types/glows
Michail Vourlakos 89cd1c30ab support two types of active indicator
Michail Vourlakos eab02204e1 support GlowOnlyOnActive at containment
Michail Vourlakos 34e1243886 update container GlowPoint
Michail Vourlakos 5388b709a8 update plasmoid to support glowOnlyOnActive
Michail Vourlakos cc0037e82d add new glow configuration options
Michail Vourlakos 733fa3c29c update container GlowPoint
Michail Vourlakos a9c1f9cd08 update glowing at plasmoid GlowItem
Michail Vourlakos 6b34a5118e add showGlow property to GlowPoints
Michail Vourlakos 8d40678e28 fix latteApplet size area
--this fixes also showing a wrong context menu
for tasks in zoomed tasks. It was showing instead
of the task context menu the container one.
Michail Vourlakos 07d51156bf fix noRealTask breaking parabolicEffect
Michail Vourlakos 63304d91d7 fix single task case for parabolic effect
--when there was only one task in the plasmoid
the parabolic effect was breaking with neighbour
applets
Michail Vourlakos a4a5a61574 load spacers debug visuals ondemand
Michail Vourlakos 147529dd72 fixes for tasks spacers for multiple separators
Michail Vourlakos 83c901de0e hide internal separators in some cases
--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
Michail Vourlakos 1eca9875f9 drop internal separatorPos for new architecture
Michail Vourlakos e7baccf7d0 disable debug messages,restore some clearZooms
Michail Vourlakos 9d8c99768f update containment spacer to multiple internal
Michail Vourlakos 0e2f4debb0 support plasmoid intern.separators from containment
--update the containment Parabolic Manager to take into
account the plasmoid multiple internal separators
Michail Vourlakos 63fa3c4b1d drop internalSeparatorHidden from parabolicManager
--improvements for new separators architecture
Michail Vourlakos ae8669169b simplify hidden spacers for tasks/applets
Michail Vourlakos f22d5c85b2 support solid background with opacity for maximized
--the user may prefer solid background with opacity
when using the maximized windows functionality. This
patch enables this
Michail Vourlakos 65c50e4200 fix #760,enable effects when forceSolidPanel
--when the user has enabled to show solid panel for
maximized windows the window effects must be enabled.
This way the best contrast is provided.
Michail Vourlakos c5b99b4576 improve background animations when changing states
--when the background is shown or not (e.g. for maximized
windows) or when changing its transparency it is animated
in a better way
Michail Vourlakos f5175b6135 fixes for title tooltips
--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.
Michail Vourlakos 88108ac524 add option to debug timers
--this is especially useful in order to be sure that
there are timers that create unending loops
Michail Vourlakos 1dd9a30139 release connect signals ondestruction
--following issue from  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
Michail Vourlakos 339b570c35 fix #713,solid background for maximized windows
--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
Michail Vourlakos 79c4defad6 show panel background faster at !compositing
--disable animations for panel opacity at
!compositing
Michail Vourlakos 0835fd7b4d force show of panel background in !compositing
--force the panel background showing when !compositing
is active independent of the users choice concerning
show/or not the panel background
Michail Vourlakos 7b814b3601 dont show lock button for separator applet
--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.
Michail Vourlakos 0df95400d8 hidden internal separator at the edges
--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.
Michail Vourlakos f6e4bd205a block parabolic effect for systray
--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
Michail Vourlakos d5f8878d56 disable directRender when showing context menus
--this way closing the context menu the parabolic
animation doesnt break
Michail Vourlakos 425b27ce22 blacklist redshift from heuristics
Michail Vourlakos 7bc8b51446 force transparent panel respects shadows settings
Michail Vourlakos 830d197a0d use full thickness for animations need thickness
Michail Vourlakos fe0ec6ba42 fix #666,provide scroll wheel based on directions
--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
Michail Vourlakos f57e714b1e fix a glitch for applets
--clicking a zoomed applet at the area below it
was creating a glitch because of the restore zoom
Michail Vourlakos 9760ef2a5e follow Fitt's Law when dock is inFullJustify
--improvements in order to follow Fitt's Law when
the dock is in Justify mode and 100% maximum length
Michail Vourlakos e89afafab2 fix #662,fix typo and auto-hide break behavior
--the check to disable blockHiding takes into account
if the config window is shown or not
--a small typo when going to !editMode was fixed
Michail Vourlakos f2ab6cbc9c block hiding when alternatives is shown
Michail Vourlakos f4fa8cf0c7 position correctly new applets
Michail Vourlakos dd1bdd8a47 block applets parab.animation when bouncing task
Michail Vourlakos bb2f5936b4 improve parab.effect stability on first hovering
Michail Vourlakos ad0a66804f small fixes for warnings and types
Michail Vourlakos 1e4f98b4ae fix #633,trigger correctly the animations signals
--restoring the applets from the parabolic effect didnt
send correctly the ending signal that their animation
was finished
Michail Vourlakos 8c7eee5245 fix #633,set a fixed shadow for edit box
Michail Vourlakos 862a20ff54 fix #630,ondrop event reparent dndspacer in end
Michail Vourlakos e4b03449a2 disable properly automatic icon size
-- 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
Michail Vourlakos 820d6562e0 improve shadow defaults
Michail Vourlakos c4c17f6c04 change default option
--enable shrink margins by default
--disable indicators glowing
Michail Vourlakos 7e07a402da disable automatic icon size for plasma taskmanagers
Michail Vourlakos 41c0b094e7 fix #621,use layout fill(s) for title tooltip
Michail Vourlakos 14a674cd61 fix #572,support latte spacer
Michail Vourlakos cfa8ee9deb hide title tooltips when applet is expanded
Michail Vourlakos 88cd32fffc dont call timer if it isnt needed
Michail Vourlakos 45add5988f fix #622,support title tooltips for hovered applets
Michail Vourlakos 262b3bd238 dont restore zoom when applet context menu shown
Michail Vourlakos 0b344be641 dont release zoom when plasmoid context menu is shown
Michail Vourlakos 8abc2e517a config option for task title tooltips
Michail Vourlakos 81323df723 fix #576,force panel shadow at expanded applets
--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
Michail Vourlakos ba3de5061f block zoom hovering on dock sliding in/out
Michail Vourlakos 0cdd8916cf fix #587,fix typo showing wrong placeholder
--wrong placeholder position for horizontal dock
layouts
Michail Vourlakos 0b34dcf1b3 fix , support Unique,Layout,Global launchers
Michail Vourlakos d4b2f3d15b update launchers based on group correctly
--this isnt the plasmoid part but the c++ and configuration
window one
Michail Vourlakos a65d876003 fix #588,dont hide handler when hovering the tooltip
Michail Vourlakos 569d9fe2d1 remove deprecated color(tan) and use brown instead
--update also the interval to switch layouts
Michail Vourlakos 7235b14dab update pixmaps for some colors
--improve also the opacity used for the EditModeVisual
Michail Vourlakos 7418c60a3f support more colors and update some
Michail Vourlakos 432db753fc support a color palette for the layouts
Michail Vourlakos 9f20ceb83e remove globalSettings from qml part
--globalSettings remain only for the layouts in the
config window
Michail Vourlakos f2de335d35 move functionality to new architecture
--add functionality for layoutManager
--add widgets action and alternative layout action to
layoutManager
--remove more functionality that belongs to globalSettings
Michail Vourlakos 7d77ab5195 expose user specified shadows to qml
Michail Vourlakos 98a4f2b253 add shadows option in the config window
Michail Vourlakos ce7bf51145 disable background effect when having transparency
Michail Vourlakos 8794835f0b reenable a small animationstep in parabolic effect
Michail Vourlakos c8878792bb fix #532,dont allow to add a second Tasks plasmoid
Michail Vourlakos 0ce0feca0a fix #526,add toggleGrouping action
Michail Vourlakos 319f30d2cc fix showing debug window
Michail Vourlakos d4a5370ef2 use same design for all separators
Michail Vourlakos db78a5b622 fix #498,translate 0% margin to 0px margins
Michail Vourlakos c5dda73d5b fix , fix crash on startup
--this was crashing Latte on startup because
the WindowsModel was loaded too early when
the user had set "Show Background only for
maximized windows"
Michail Vourlakos e982540bff fix #490,support usesPlasmaTheme in our fake icons
Michail Vourlakos 162d84e31d fix #495,Disable panel shadow for maximized windows
Michail Vourlakos 424f0e0e1c dont allow forceTransparentPanel on !compositing
Michail Vourlakos 641d096d58 fix #490,improve identification algorithms
--this commits improves the identification algorithm
for kicker and simplemenu and their behavior also
concerning setting a static image or not
Michail Vourlakos cfca7fadd4 dont paint items when shadow is activated
--this way we gain a few cpu cycles because they
are not painted when the item is painted through
the Shadow qml item
Michail Vourlakos 05c2123708 go faster to directRender state
--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.
Michail Vourlakos aacd80df3d enable tooltips in various places
Michail Vourlakos 4eb0645474 fix #489,option for mouse wheel actions
Michail Vourlakos fe0e23b935 fix #490,support kicker and simplemenu applets
--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
Michail Vourlakos 8ae052ba79 correct update hidden applets registry on startup
Michail Vourlakos 51b600725d fix parabolic effect and Tasks thickness
--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
Michail Vourlakos 19af87417e add disabled debug messages for parabolic signals
--these debug messages can be activated in the future
in order to identify in the future cases that the
parabolic effect doesnt work as it should
Michail Vourlakos 155e037d0f disable all spacers for all separators
--this makes the spacers to overlap with
each other
Michail Vourlakos d59a43a7aa simplify window model for maximized window
--simplify the messaging handling and also protect
the initialization of the model for the Repeater
Michail Vourlakos eb5b70d9a4 dont hide internal separator yet
--hide debug messages
--dont hide internal separato yet if there
are neighbour separators next to it because
it is not positioned always correctly yet
Michail Vourlakos ff53a53d75 fix all separators calculations/signals
--fixed all signals calculations for applets
through the parabolicManager in containment
Michail Vourlakos b160ad76a5 fix many separators around latte plasmoid
Michail Vourlakos f379877e55 improve more parabolic effect messaging
Michail Vourlakos fbf952f606 fix binding loops that broke separators experience
Michail Vourlakos b79b375715 access internal plasma separator from contextmenu
--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)
Michail Vourlakos debea91ddc reduce messages for clearing parabolic effect
Michail Vourlakos 3a0ac83c46 fix #480,support properly separator widgets
Michail Vourlakos 0c69277912 correct center calculation based on hidden spacers
Michail Vourlakos 30988a8820 fixes for separators signaling
Michail Vourlakos 988448345f add margins to applet separators
--fix for indicating the separator on startup
--improvements in parabolic signaling
Michail Vourlakos a0bff8f9f0 first part to support properly separators
--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
Michail Vourlakos 544f34ad2a expose available applet ids
--find applet ids that arent separators or
hidden
Michail Vourlakos d4b785daf3 inform parabolicManager for separators and hidden
--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
Michail Vourlakos fa9b313c92 use more the ParabolicManagers
-- add even better clearZooms based on
signaling from ParabolicManagers
Michail Vourlakos 9cdd9d839b fix splitters path for Justify mode
Michail Vourlakos 528a857b47 apply a proper clearing zoom for applets
--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!!
Michail Vourlakos a16ed0e9ef add clearing functions for parabolic managers
Michail Vourlakos 6fa6f70e41 add ParabolicManager for containment
--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
Michail Vourlakos 569644073f fix #481,improve fake applets indication
--improve fake applets indication on startup
Michail Vourlakos d99c679382 fix wrong showing of ActiveIndicators
--the ActiveIndicators were showing on startup
in some applets that they shouldnt
Michail Vourlakos 2862ca2442 fix a thick margins in applets
Michail Vourlakos afc1a8e318 add AppletIdentifier for discovering applets icons
-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
Michail Vourlakos 31be277e17 include userswitcher in applet heuristic algorithm
Michail Vourlakos 0a771531e1 fix #480,support new internal separator architect
--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
Michail Vourlakos 5537db0760 fix #466,support kickoff applet in heuristic alg.
Michail Vourlakos ebc70d12b2 fix #182,improve automatic shring/grow
--@AndydeCleyre contribution, the automatic growing/
shrinking for applets now uses always the maximum
length as a limit for the calculations
Michail Vourlakos dcda53d08e go the applets clearZoom criteria to the edges
--the clearZoom criteria for the applets have set
to the minimum possible considering also the internal
tasks separator case
Michail Vourlakos e9a3bf9265 improve check of clear zoom
Michail Vourlakos 57fd657a68 fix #464,clear zoom for applets far of par.effect
Michail Vourlakos 3e809b8ea9 expose fake icon to all applets that are found
--this should be tested with a lot of attention,
in case we fall onto applets cases that Latte
breaks their functionality
Michail Vourlakos 0c3f8e47ad remove old typo
Michail Vourlakos 9335acaa33 speed down an animation
Michail Vourlakos f68b376ede animate active applet indicators
Michail Vourlakos 1c76e29b3f fix #472,support latte applet active indicators
--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
Michail Vourlakos 8d0b64cd6d support applets activate line
Michail Vourlakos 831c5457e5 support in-house active indicator for applets
Michail Vourlakos 6631516913 consider needsFill applets as !canBeHovered
Michail Vourlakos 28b777dd15 fix warning check
Michail Vourlakos 84e390c312 reduce warnings
Michail Vourlakos 1094a6db02 update string
Michail Vourlakos d3711258f1 add forceTransparentPanel in DebugWindow
Michail Vourlakos 9b4bde2958 reduce warnings
Michail Vourlakos c37a959ae2 reduce warnings
Michail Vourlakos 7b15f4b895 add more calls for reconsiderMaximized for windows
Michail Vourlakos 77f542a9f3 fix #470,crash the tasksmodel of maximized logic
--fixes in various typos introduced from the new
designs
Michail Vourlakos d3387922d3 split logic for AppletItem in containment
Michail Vourlakos 3d8c8179e2 refactor layouts in containment
--simplify and organize a bit more the main.qml
in containment and move logic into LayoutsContainer
Michail Vourlakos b922b2c7e3 improve criteria for backOnlyOnMaximized case
--animate show/hiding background including its
internal shadows
Michail Vourlakos 49d8b145d2 fixes for showBackOnlyOnMaximized design
--improve applets shadows, now the shadows used
are using the backgroundColor when a transparent
panel is forced
--identify better when shadows should be drawn
Michail Vourlakos 9d55a65bf5 fix #469,support show background on maximized only
-- 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
Michail Vourlakos 69ce4b4e02 fix hovering effect for applets with zoom==1
Michail Vourlakos 9d213a6e83 support clicking event for all fakeIconItem area
Michail Vourlakos 17db2a8a5d fix #83,support fake iconitem and container
--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
Michail Vourlakos 33aa55271d correct sizes for folderview applets
Michail Vourlakos dae061e64d fix , hack the Plasma iconitems applets
--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
Michail Vourlakos 7c07385c10 fix #453,substitute absolute build path references
--fixes the kdesrc-build installation