Commit Graph

260 Commits (fa61ee884276306b3fcb9f625a26ee822482ee77)

Author SHA1 Message Date
Michail Vourlakos 5c82996dfa disable applet mouseareas for not loaded applets 6 years ago
Michail Vourlakos 0cd33727b8 restore iconOverlay default behavior
BUG: 400806
6 years ago
Michail Vourlakos 53d17bfd01 new communication protocol one more time 6 years ago
Michail Vourlakos 530dd8d655 simplify more the communicator 6 years ago
Michail Vourlakos 0f1b090e19 support new LatteSetings object for Communicator
--in order to improve extenability we pass now
a single QtObject for applets to use in order
to communicate with Latte
6 years ago
Michail Vourlakos 096358f46a expose latteInEditMode from communicator 6 years ago
Michail Vourlakos 6eb1251965 dont compute width/height for latte plasmoid 6 years ago
Michail Vourlakos d190ebb216 dont show fill(s) applets oversized in edit mode 6 years ago
Michail Vourlakos 48fe4fd615 support fill(s) applets property
--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.
6 years ago
Michail Vourlakos 722d656bfa enhance colorschemes and colorizer to new arch 6 years ago
Michail Vourlakos 9374ff3cc4 move colorizeManager to its own Item class 6 years ago
Michail Vourlakos d705d5a657 fixes for new Communicator protocol 6 years ago
Michail Vourlakos 5bab21d786 add function to identify mainitem in applets
--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
6 years ago
Michail Vourlakos 4a13d12703 send colorizerManager colors to applets 6 years ago
Michail Vourlakos 9dae7f7170 add Colorizing properties in Communicator
--add properties in order for the Communicator
to inform applet when to use the LatteColorScheme
6 years ago
Michail Vourlakos 1f51524d42 create Applet Communicator for applets
--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
6 years ago
Michail Vourlakos 1192760f28 apply Colorizer at per applet bases 6 years ago
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
7 years ago
Yuri Chornoivan 7323068f36 Fix minor EBN issues 7 years ago
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
7 years ago
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
7 years ago
Michail Vourlakos 8251fa8263 forward wheel events for underneath plasmoids
BUG: 396811
FIXED-IN: 0.8.1
7 years ago
Michail Vourlakos e908c1207c fixes badges from applets
--fix for binding loop for applets badges
--dont hide applets number badges on hovering
7 years ago
Michail Vourlakos 3ea01dfafc fix badge text warning and border.color 7 years ago
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
7 years ago
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.
7 years ago
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
7 years ago
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.
7 years ago
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
7 years ago
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.
7 years ago
Michail Vourlakos 28f0bed9dd fix #997,decrease text size when needed
Launchers Area text wasnt decreasing its size for
very small thickness.
7 years ago
Michail Vourlakos 506d23d948 enable parab.effect for latte spacer 7 years ago
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.
7 years ago
Michail Vourlakos 7f89bd99b0 fix #985,use same style for tasks/applets numbers 7 years ago
Michail Vourlakos 76af94b59d reposition applet spacer visual debugger
--this way the applet spacer visual debugger
uses the same metrics with its plasmoid
counterpart
7 years ago
Michail Vourlakos 92c025d94d show tooltips by default
--shows Latte tooltips by default except
if an applet is locked or zoomfactor==1
7 years ago
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.
7 years ago
Michail Vourlakos ad16d8d1b8 use plasma desktop version for folderview 7 years ago
Michail Vourlakos f5bcb6462e disable active indicator for plasma appmenu 7 years ago
Michail Vourlakos 2b2ddfeb70 improve contrast for Launchers Area text 7 years ago
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.
7 years ago
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.
7 years ago
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
7 years ago
Michail Vourlakos b2d917026f enable directRenderDelayer after hiding 7 years ago
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.
7 years ago
Michail Vourlakos 5b77c09faa improve fastEntering tracking
--take into account both hoveredIndexes
(applet & containment) for fastEntering
identify.
7 years ago
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.
7 years ago
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.
7 years ago
Michail Vourlakos c7915677bd improve splitter icon color/contrast
--fix also splitter icon size when adding for
first time in EditMode
7 years ago
Michail Vourlakos de4cddb5d3 update internal splitter icon to use plasma theme 7 years ago
Michail Vourlakos 6bb7f0ab51 improve context menus for wayland 7 years ago
Michail Vourlakos db58a24040 dont count internalViewSplitters for globalShortcs
-- as mentioned at #879
-- improve also the semantics of globalShortcuts
7 years ago
Michail Vourlakos 1ff161a030 updates and improvements at applets glob.shortcuts 7 years ago
Michail Vourlakos 103b901125 support showing applets numbers with badges
-- this is used mainly from globalshortcuts triggering
7 years ago
Michail Vourlakos 657d86033f respect user settings for applet shadows 7 years ago
Michail Vourlakos 5b3c00ff8c improve code for enable/disable checkRestoreZoom 7 years ago
Michail Vourlakos 7c5d550e9c fix #871,improve clearing zoom indicators
--accept clearZooms only in both hoveredIndexes
are -1 (for plasmoid and containment)
7 years ago
Michail Vourlakos 14ffc70088 cleanup deprecated directRenderTimer/containment 7 years ago
Michail Vourlakos 7c1cd0cb70 improvements to applets parabolic effect 7 years ago
Michail Vourlakos 00241dcd8f fix breakage in par.effect from separators applets 7 years ago
Michail Vourlakos 9fdb1b598d increase parabolic effect speed 7 years ago
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
7 years ago
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
7 years ago
Michail Vourlakos 23008b5903 enable glow choice for behaveAsPlasmaPanel 7 years ago
Michail Vourlakos 431ec79088 force all DropShadows to fast mode 7 years ago
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.
7 years ago
Michail Vourlakos 23cd5ea33e fix glitch when clicking of applet neutral areas 7 years ago
Michail Vourlakos 71087b1c3f ignode kde activeWindowContronl from activeindicator 7 years ago
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
7 years ago
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!!
7 years ago
Michail Vourlakos 5593b515f4 update zoom-out animations 7 years ago
Michail Vourlakos c129743aa9 use a new zoom-in animation type 7 years ago
Michail Vourlakos 2957c50dd0 Revert "update zoom-in animation type"
This reverts commit cc6779d0c4.
7 years ago
Michail Vourlakos cc6779d0c4 update zoom-in animation type 7 years ago
Michail Vourlakos 15cff730ab stop restoreAnimation in directRendering
--issue #852, when directRendering is activated
some of the tasks could be in restoreAnimation,
in such case they stop their animation are moved
to directRendering mode
7 years ago
Michail Vourlakos 8cf6f49bb9 improvements to parabolic effect
--issue #852, improve how the two states of zoom-in
and directRendering are indetified and triggered.
The initialization of hovering indexes now is
trigerred only for window mouse out events.
7 years ago
Michail Vourlakos 2987e406db block signalUpdateScale if task/applet containMouse 7 years ago
Michail Vourlakos 2a78437996 add some resistance in activating directRendering
--add some resistance for the functionality added for
issue #852
7 years ago
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.
7 years ago
Michail Vourlakos b64bb1f9d2 use very high sensitivity for parabolic effect 7 years ago
Michail Vourlakos 9473f5b7a2 fix thick and applets alignment in reverse mode 7 years ago
Michail Vourlakos 4692b87bb5 improve GlowPoint contrast 7 years ago
Michail Vourlakos fa1ef2f17d move GlowPoint to latte library
--this way we can use the same code between
plasmoid and containment
7 years ago
Michail Vourlakos c169858b71 improve glow painting
--reduce a lot the painting issues that didnt
paint glow parts correctly
7 years ago
Michail Vourlakos 6722162826 fix applet line active indicator issue
--the applet line active indicator wasnt updating
correctly its size when hovering
7 years ago
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
7 years ago
Michail Vourlakos ff70d4a9d2 improve/fix small issues with panel behavior 7 years ago
Michail Vourlakos efb04895be improve activate applets for neutral areas 7 years ago
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
7 years ago
Michail Vourlakos e0a3bd9f80 support nomad systray in Latte 7 years ago
Michail Vourlakos c108cd4953 improve shadow positioning in glow 7 years ago
Michail Vourlakos 7b8efcaed7 implement fully active indicator types/glows 7 years ago
Michail Vourlakos eab02204e1 support GlowOnlyOnActive at containment 7 years ago
Michail Vourlakos 34e1243886 update container GlowPoint 7 years ago
Michail Vourlakos 733fa3c29c update container GlowPoint 7 years ago
Michail Vourlakos a9c1f9cd08 update glowing at plasmoid GlowItem 7 years ago
Michail Vourlakos 6b34a5118e add showGlow property to GlowPoints 7 years ago
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.
7 years ago
Michail Vourlakos a4a5a61574 load spacers debug visuals ondemand 7 years ago
Michail Vourlakos 147529dd72 fixes for tasks spacers for multiple separators 7 years ago
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
7 years ago
Michail Vourlakos 1eca9875f9 drop internal separatorPos for new architecture 7 years ago
Michail Vourlakos 9d8c99768f update containment spacer to multiple internal 7 years ago
Michail Vourlakos 0e2f4debb0 support plasmoid intern.separators from containment
--update the containment Parabolic Manager to take into
account the plasmoid multiple internal separators
7 years ago
Michail Vourlakos 63fa3c4b1d drop internalSeparatorHidden from parabolicManager
--improvements for new separators architecture
7 years ago
Michail Vourlakos ae8669169b simplify hidden spacers for tasks/applets 7 years ago
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
7 years ago
Michail Vourlakos 1dd9a30139 release connect signals ondestruction
--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
7 years ago
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.
7 years ago
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
7 years ago
Michail Vourlakos 7bc8b51446 force transparent panel respects shadows settings 8 years ago
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
8 years ago
Michail Vourlakos dd1bdd8a47 block applets parab.animation when bouncing task 8 years ago
Michail Vourlakos bb2f5936b4 improve parab.effect stability on first hovering 8 years ago
Michail Vourlakos ad0a66804f small fixes for warnings and types 8 years ago
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
8 years ago
Michail Vourlakos 14a674cd61 fix #572,support latte spacer 8 years ago
Michail Vourlakos cfa8ee9deb hide title tooltips when applet is expanded 8 years ago
Michail Vourlakos 45add5988f fix #622,support title tooltips for hovered applets 8 years ago
Michail Vourlakos ba3de5061f block zoom hovering on dock sliding in/out 8 years ago
Michail Vourlakos 7d77ab5195 expose user specified shadows to qml 8 years ago
Michail Vourlakos 8794835f0b reenable a small animationstep in parabolic effect 8 years ago
Michail Vourlakos d4a5370ef2 use same design for all separators 8 years ago
Michail Vourlakos db78a5b622 fix #498,translate 0% margin to 0px margins 8 years ago
Michail Vourlakos e982540bff fix #490,support usesPlasmaTheme in our fake icons 8 years ago
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
8 years ago
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
8 years ago
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.
8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
Michail Vourlakos 155e037d0f disable all spacers for all separators
--this makes the spacers to overlap with
each other
8 years ago
Michail Vourlakos debea91ddc reduce messages for clearing parabolic effect 8 years ago
Michail Vourlakos 3a0ac83c46 fix #480,support properly separator widgets 8 years ago
Michail Vourlakos 0c69277912 correct center calculation based on hidden spacers 8 years ago
Michail Vourlakos 988448345f add margins to applet separators
--fix for indicating the separator on startup
--improvements in parabolic signaling
8 years ago
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
8 years ago
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
8 years ago
Michail Vourlakos 9cdd9d839b fix splitters path for Justify mode 8 years ago
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!!
8 years ago
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
8 years ago
Michail Vourlakos 569644073f fix #481,improve fake applets indication
--improve fake applets indication on startup
8 years ago
Michail Vourlakos d99c679382 fix wrong showing of ActiveIndicators
--the ActiveIndicators were showing on startup
in some applets that they shouldnt
8 years ago
Michail Vourlakos 2862ca2442 fix a thick margins in applets 8 years ago
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
8 years ago
Michail Vourlakos 31be277e17 include userswitcher in applet heuristic algorithm 8 years ago
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
8 years ago
Michail Vourlakos 5537db0760 fix #466,support kickoff applet in heuristic alg. 8 years ago
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
8 years ago
Michail Vourlakos e9a3bf9265 improve check of clear zoom 8 years ago