Commit Graph

407 Commits (d8621a9435c726aeb5ab5f1b8bd24ccf863e583d)

Author SHA1 Message Date
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 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 eab02204e1 support GlowOnlyOnActive at containment
Michail Vourlakos 34e1243886 update container GlowPoint
Michail Vourlakos 5388b709a8 update plasmoid to support glowOnlyOnActive
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 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 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 0b34dcf1b3 fix , support Unique,Layout,Global launchers
Michail Vourlakos a65d876003 fix #588,dont hide handler when hovering the tooltip
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 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 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