Commit Graph

918 Commits (4237bd44b60b153d106b3510a504d41f374c440e)

Author SHA1 Message Date
Michail Vourlakos 4ad3880579 update PLASMAPANEL geometry immediate after hiding
--behaveAsPlasmaPanel can now slide in/out as real windows
but after they hide there is a chance that their geometry
should be updated. This patch makes sure that this will
happen exactly before the BEHAVEASPLASMAPANEL starts
sliding-in.
5 years ago
Michail Vourlakos 25677a01b5 block screen gap animations on startup 5 years ago
Michail Vourlakos 87f6330816 slide in/out nicely when hideThickScreenGap
--when the user has chosen to hide the screen gap
when there is a maximized window in the screen and
at the same time the View behaves as plasma panel,
it now slides in/out nicely
5 years ago
Michail Vourlakos e0c04a9c6f import:dont update view:local_geometry when hidden
--if this does not apply then local geometry are not valid
when views become hidden
5 years ago
Michail Vourlakos 86ddc74cbb fix EnvironmentActions anchors
--EnvironmentActions follow mainLayout alignment
and anchor style at all cases
5 years ago
Michail Vourlakos b3c3dab514 improve plasma folder behavior in SideBars 5 years ago
Michail Vourlakos ecd39b4098 introduce minimum length option
--found also some fixes for mask calculations
in right or bottom alignment
5 years ago
Michail Vourlakos 1d8fe4541c Important:fix localGeometry calculations
--and add also new visual debug mode for
localGeometry calculations
5 years ago
Michail Vourlakos ef3a59e836 behaveAsPlasmaPanel for NOCOMPOSITING environment
--all views in NOCOMPOSITING environment should behave
as Plasma Panels in order to interact much better with
windows
5 years ago
Michail Vourlakos ab83bc5b2e fixes for BLUR in live editMode
--add also missing signal in Effects to updateEffects
when enabledBorders are changed
5 years ago
Michail Vourlakos 5cc6ce5484 fix NOCOMPOSITING mode mask calculations
FIXED-IN:0.9.10
BUG:418456
5 years ago
Michail Vourlakos 5efa757146 fix Justify Splitter appearance at all cases
--introduce also some max/min values for applets
size for inConfigureAppletsMode state
5 years ago
Michail Vourlakos 8f98ccb5e8 improve Justify Splitters in SideBars
--improve Justify Splitters experience for vertical
Docks/Panels and SidePanels
5 years ago
Michail Vourlakos 47f79db2ec improve show/hide functions of visibilitymanager
--test the new code both for x11 and wayland and check
out that it does not create crashes or any other new
bugs
5 years ago
Yuri Chornoivan 50f249afc7 Fix minor typo: top -> bottom 5 years ago
Michail Vourlakos 90df4f4f61 support new visibility mode for SideBars
--SideBar views are shown/hide ONLY WHEN the
user has requested to DO SHOW from external
applets, shortcuts and scripts
5 years ago
Michail Vourlakos 9d30eb6257 support stick options for vertical views
--the user can now choose for vertical views to
stick their edges at the top or bottom screen edge
and ignore any top or bottom views accordingly. These
options are available in the Transparent Settings
area for vertical views and in advanced settings
mode.
5 years ago
Michail Vourlakos de1604bb71 improve bouncing animation speed for plasma 5.18 5 years ago
Michail Vourlakos bac31e450e plasma5.18:update animations speed 5 years ago
Michail Vourlakos 6635f9fa8f mask fixes for some floating cases 5 years ago
Michail Vourlakos 8e614468bc imrove applets scroll wheel activation
--the new implementation works at all cases even
when the ParabolicEffect MouseArea is not really
enabled (e.g. real panels)
5 years ago
Michail Vourlakos 8ab5779bcb compute blur area correctly on startup
--improve calculations for Effects area during startup
and at the same time when the dock is totally hidden
so it should not paint any effects area at all.

BUG:416928
FIXED-IN:0.9.9
5 years ago
Michail Vourlakos b5233ddfe0 option for tasks to scroll and minimize them
--a new Wheel action is introduced to Tasks and
the user can now choose to disable wheel actions
only for tasks OR cycle through grouped tasks OR
upwards cycles trhough grouped tasks and downwards
minimizes them.

BUG:416096
5 years ago
Michail Vourlakos 210057af21 take into account roundness for pseudo-blur
--in editing mode the panel background blur takes
into account inside the qml window, it is used
as a demonstration for the user. This patch
takes into account the blurred area roundness
in order to not blur faulty areas that are not
going to be blurred in the end.
5 years ago
Michail Vourlakos 58fcd834d7 fix draging responsiveness for active window 5 years ago
Michail Vourlakos 2a7a009046 dont drag active window with mid click 5 years ago
Michail Vourlakos 88cd15af63 add a mouse wheel delayer for EmtpyAreas
--add a mouse wheel delayer like in other Latte
MouseArea(s) in order to limit the actions
executed through mouse wheel in one second.
The user can now execute five actions at maximum
in one second.
5 years ago
Michail Vourlakos dabc7bfe88 option to toggle windows minimized state
--mouse wheel can now be used from panel empty areas
in order to minimize windows or cycle between them.
The action is called ScrollToggleMinimed. When that
option is used the user can also use Ctrl+ScrollUp
in order to maximize a window or Ctrl+ScrollDown
to restore it
5 years ago
Michail Vourlakos 77b66e85e0 option to close active window with mid click
--an option to close active window with middle
click from empty areas
5 years ago
Michail Vourlakos 5288aa6e38 protect floating views appearance
--floating views is a strange situation for which
plasma theme do not have any way to be protected for
their drawing (there is a chance that shadows and content
overlap). Latte in order to protect from that situation
now uses the auto-discovered plasma theme roundness to be used
in order to calculate the minimum thicknes for panel
background.
5 years ago
Michail Vourlakos 154038c245 consider edge margin for applets shorcut badges 5 years ago
Michail Vourlakos 4809703e9f remove common global indicators options
--enabledForApplets and lengthPadding for indicators
has now moved to indicators responsibility to handle
--as a consequence usesPlasmaStyle has been removed
from indicators API. The corner cases that indicators
conflict with plasma theme applets should be handled
differently and in a different way
5 years ago
Michail Vourlakos 7d0d8f74f7 fix applets edge margins calculations
--different applets situations request different
margins for indicators and margins between them
in order to draw them properly. This fix takes
into account when edge margins are disabled from
wrapper and in that case the edge margins for these
are calculated bettter.
5 years ago
Michail Vourlakos 63971f4429 enable normal Latte Tasks removal action
--requesting from users a different way to remove
the Latte Tasks plasmoid if they want to is not
a good hig. Reenabling the classic ways to remove
Latte Tasks. The user can now use the applet tooltip
to remove it or by right clicking it in Latte
edit mode. Because of this the Tasks->Recycling
button is not needed any more.

BUG:415274
5 years ago
Michail Vourlakos 34d6c2cd78 identify highest priority application launcher
--provide a new way to identify which application
launcher has the highest priority in order to be
triggered. When an application launcher applet
has a global shortcut assigned to it then that
application launcher applet has the highest
priority in order to be triggered through
"Super" global key.
5 years ago
Michail Vourlakos 87f86ebc75 trying to support masking for floating 5 years ago
Michail Vourlakos a9d4f91c05 add inSlideAnimation flag for ViewPart::Positioner
--it can be used in order to enable/disable some codepaths
5 years ago
Michail Vourlakos aa00d6348b disable zoom labels in settings for !animatons 5 years ago
Michail Vourlakos 813b40e9ca fix glitch from editMode to real floating 5 years ago
Michail Vourlakos 783906d244 dont autoposition Layouts for inLocationAnimation
--block default-autopositioning for Layouts when the user
is changing location for the View. This way we are
trying to avoid issues concerning animations and glitches
during that animation.
5 years ago
Michail Vourlakos 1dc154f932 track inLocationAnimation of View:Positioner 5 years ago
Michail Vourlakos 10ce95597c slide out layouts when changing location 5 years ago
Michail Vourlakos 4034ccfaf9 blockHiding in editMode based on edit animations
--it is safer to block/unblock view hiding based on
edit mode animations. This way any view hiding mechanisms
are applied only after the containment editMode has
really applied.
5 years ago
Michail Vourlakos dba2f3bc8b hide external shadows when real panel hidden 5 years ago
Michail Vourlakos 103de33c92 trying to implement real panels sliding in/ou 5 years ago
Michail Vourlakos 07a1065320 animate dynamic screen edge margin behavior
--when the view is NOT behavingAsPlasmaPanel then for
those cases we can animate the screenEdgeMargin
shrinking/expanding
5 years ago
Michail Vourlakos 80ed729fcf [qt5.14] - restore editVisual to normal
--when the view settings window is closed then the
View must return to normal mode and disable
the editMode. In qt 5.14 default states that have a "when"
property do not play well

BUG:412940
5 years ago
Michail Vourlakos 5d65909adb fix binding loop from hideLengthScreenGap 5 years ago
Michail Vourlakos 79705e9753 option to disable creenEdgeMargin for maximized
--improved settings for Floating windows in Behavior
tab and add a new option to hide ALL screen gaps meaning
both length screen and thickness screen gap when there
is a maximized window in the screen

BUG:415630
5 years ago
Michail Vourlakos 074d9efee1 use all floating screen gaps for Fitt's Law 5 years ago
Michail Vourlakos 4cf929ea81 support containsMouse behavior for WindowsCanCover 5 years ago
Michail Vourlakos d9e18794c8 simplify keepabove/below calling
--start a bit to work with "Windows Always Cover"
visibility mode
5 years ago
Michail Vourlakos f9779d5284 introduce two new windows visibilities in options
--add options for visibility modes:
   - Windows Can Cover
   - Windows Always Cover
5 years ago
Michail Vourlakos 4bffa9736a improvements to settings layout
--fix also some left of warnings from
screen edge margin
5 years ago
Michail Vourlakos 6f7eebeec2 choose behavior for floating screen gap
--when the user has enabled dragging/moving active
window from floatings screen gap then that space
can not be used to activate applets. It is rather
used to drag/move/restore last active window.
5 years ago
Michail Vourlakos c8bd9553c8 update EnvironmentActions for screenEdgeMargin 5 years ago
Michail Vourlakos 6a17a3e67b only left click for applets neutral areas activate 5 years ago
Michail Vourlakos 6a95af5f8c option,always apply Fitt's Law for floating mode
-The use can specify to always apply Fitt's Law when
in floating mode
5 years ago
Michail Vourlakos 32f02c871e consider also thickMarginsEnabled for screenEdge
--if thickness margins are disabled then it must not
be applied any screen edge margin
5 years ago
Michail Vourlakos 1c7eec05e3 send only screenEdgeMargin to applets/indicators
--screenEdgeMarginEnabled value is not really needed
to applets and indicators. Only the margin value
applied is of importance in order to place themselves
properly.
5 years ago
Michail Vourlakos 06fdd0d703 make screenEdgeMargin aware some elements
--update some containment elements and make
them screenEdgeMargin aware in order to be
positioned properly
5 years ago
Michail Vourlakos 896afcc068 support screen edge margin for behaveAsPlasmaPanel 5 years ago
Michail Vourlakos a40ff9cf5b update CustomBackground to more border styles
--use screenEdgeMargin in order to support more border
styles for custom background component that paints
the underneath panel background for smart coloring.
5 years ago
Michail Vourlakos 8ee4b83461 update applets to screen edge margin awareness
--applets can now use the screen edge margin value
in order to follow Fitt's Law for floating docks/panels
if they want to. Latte takes case all applets of
course but in case an applet would like also to
to use also the space between the gap of the view
and the screen edge, it can so.
5 years ago
Michail Vourlakos 8194ee94bc inform applets/indicators for screen edge margin
--fix geometries publishing, update margins calculations
5 years ago
Michail Vourlakos 0ebef42513 add screenEdgeMargin and update border accordingly 5 years ago
Michail Vourlakos d31d7afb9d dont wait for dock to show for activate shortcuts
--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately

BUG:415417
FIXED-IN:0.9.6
5 years ago
Michail Vourlakos 5fff947091 improve panel background is shown identification 5 years ago
Michail Vourlakos 9dd798477e improve criteria for side panels dyamic touching
--Latte panels when they touch each other are informing
each other in order to provide consistent appearance. For
example the Unity mode where a top panel and a left panel
exist at the same time. In such case if the left panel is
INBUSY background state then the top panel is informed and
because inBusy state also. This way the top border of left dock
background does not look out of place. ON THE OTHER hand if
the left dock is hidden because the use has chosen auto-hide
visibility mode or any of the dodge(s) choices then the top
panel does not have to stay in isBusy state. The patch fixes
this by applying this behavior only when the left dock is shown
e.g. the mouse has entered the dock or the dodge mode is not
activated

BUG:415347
FIXED-IN:0.9.6
5 years ago
Michail Vourlakos 08be166ae3 increase grow/shrink distance limits
--automatic icon sizer is using a prediction
algorithm in order to decide to grow or not the
items size. There is a chance that the prediction
calculations are executed too early and as
such grow/shrink limits it is better to not
be to near to each other. That approach should
make the AutomaticItemSizer implementation a little
more robust.
5 years ago
Michail Vourlakos abd333ea63 fix debug window texts 5 years ago
Michail Vourlakos 484741558e add comments 5 years ago
Michail Vourlakos 2493971f03 improve atScreenEdge code 5 years ago
Michail Vourlakos 747d4870a0 introduce AutomaticItemSizer and add protector
--the automatic item sizer algorithm now is present
in its own class/responsibility area. As a new
improvement/fix the new implementation provides also
a protector/tracker that when the current prediction
to grow has already be applied two steps back in
history then the growing is not applied. This way
endless loops with growings and shrinks are blocked.

BUG:414180
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos 2577c33b7d improvements for margins/paddings
--fix also how firstVisibleIndex is tracked for
AppletContainer(s)
5 years ago
Michail Vourlakos 5c5084f7bb improve some semantics in AppletItem 5 years ago
Adrien Brunelat a21f46d85f
[414174] - Panel background transition color bug
Summary:
Added animation on background color change.
Removed test for background color that is not needed any more.

BUG:414174
FIXED-IN:0.9.5

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: ognarb, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D25392
5 years ago
Michail Vourlakos bfd72413d9 show a smaller indicator for atScreenEdge applets
--this is a temporary fix in order to provide a
visually pleasant result until the final fix for
Fitt's law is applied.
5 years ago
Michail Vourlakos 5aac422a65 Fitt's Law improvements for applets
--each applets layout can not identify properly
which applet is the first/last visible from its
contents. This way we can now identify properly
at all cases which applets should remove their
margins in order to follow Fitt's Law at screen
edges. For example when a windows buttons applet
is found at the screen edge and suddently it
hides itself then the next visible applet should
be considered at screen edge and such should remove
its margins in order to touch the screen edge.
5 years ago
Michail Vourlakos 453ac890ab remove exceptions for systray and indicators
--remove the layout exception for the plasma systray
and behave for this just all the rest applets
--fix indicators for applets in order to consider
properly the indicators padding and applets margins.
In other words the Latte indicators for applets should
not take up all the length provided but ONLY the
applet length + indicators padding (without at any
case the applet length margins)

BUG:414104
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos 63ed290593 improve option "Hide Background when not needed"
--when option "Hide Background when not needed" is
used on its own activates or not the forceTransparentPanel
code path. So when that option is enabled and any
window is touching the Latte::View then the force
transparency codepath should be disabled. In such
case the user background settings are applied.

BUG:414071
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos c2a1c20d92 expose colorScheme to lastActiveWindow(s)
--applets can now use the color scheme from lastActiveWindow
objects in order to paint some of their elements
5 years ago
Michail Vourlakos b9d82fe0f1 improvements for automatic icon size code path
--this patch add two fixes concerning automatic
icon size when contents exceed the view maximum
length.
--A) when the function is called then it also
called one more time after 1sec to confirm that
the icon size found is valid. In the past that
approach was creating an endless loop that should
not be triggered any more
--B) the grow limit was made to be equal with
the shrink limit trying to be more predictive from
the user when the items will grow or shrink. In
the future we must take care of this if the items
grow or shrink endlessly

BUG:411860
FIXED-IN:0.9.3
5 years ago
Michail Vourlakos eb564fdc7d use automatic icon size for behaveAsPlasmaPanel
--this way the panel can be shrinked because it
exceeds screen boundaries even when view is used
as a plasma panel
5 years ago
Michail Vourlakos ac11a3a2d7 do not overlay applets when icon found !visible
--many applets are changing layouts and during that
process the main icon becomes invisile, in that case
the latte overlaied icon should also been disabled and
let applet paint itself accordingly

FIXED-IN:0.9.3
5 years ago
Michail Vourlakos f64f5107bb remove margins,!canbehovered applets in screen edges
--when an applet can not be hovered meaning to use
the parabolic effect and that applet is at the far
screen edge then margins can be disabled for this applet
in order to look exactly touching the screen edge
and at the same feel right following Fitt's Law
5 years ago
Michail Vourlakos 7663e86068 multiple fixes for different margins
--multiple fixes for margins all over the place. More
specific how they are calculated and when they are
used
5 years ago
Michail Vourlakos d8a32fa18a load an indicator for the view background
--this way the plasma android-style click can be
triggered for empty areas
5 years ago
Michail Vourlakos a385f49aea dont draw outline for plasma popups
--when the user of course has chosen the plasma
experience for applets popups
6 years ago
Michail Vourlakos 17621e0ffd check no panel shadows from windows states first 6 years ago
Michail Vourlakos cef15c3adc forceSolidness higher priority from busy background 6 years ago
Michail Vourlakos 5a2c59601c Indicators:different margins for applets
--indicators gained a way to set different margins
for applets if they want to
6 years ago
Michail Vourlakos edfd111d9a use only exter.margins for separators
--separators are only usings the external margins
between items. In the past it was also consider
the indicators internal padding. This is not
needed and it was creating too big empty
spaces with no real reason.
6 years ago
Michail Vourlakos 768a6b4b2a indicators can now offset a bit icons
--through level.requested options each indicator
instance can request specific repositioning for
each icon. Very good example for this is the
Win7 style indicator
6 years ago
Michail Vourlakos 2866b6a3aa plasma theme colors for !accelerated graphics
--fix also how accelerated graphics are identified
by using GraphicsInfo api
6 years ago
Michail Vourlakos 724a59eb23 add accelerated graphics checks all over the place
--when qml uses software rendering checks should be
added in order to not hide the visual elements. This
is taking place now in a more concrete way and checked
also that tasks with badges or not are still shown

BUG:411037
FIXED-IN:0.9.2
6 years ago
Michail Vourlakos 551edf01fb provide Progress information to indicators
--as a test case, the Plasma indicator now supports
the original plasma progress indicator of plasma
taskmanagers
6 years ago
Michail Vourlakos 153f5dab27 remove obsolete draggingStarted signals/slots
--draggingStarted signals/slots were used in order
to handle the active window dragging from empty areas.
The new approach ungrabs the mouse properly through
View relevant function and at the same time sends a
QEvent::Leave event to inform applets that the mouse
has left the view. This is enough in order to remove
any older draggingStarted workarounds and hacks.
6 years ago
Yuri Chornoivan 15ab253efd Fix minor EBN issues 6 years ago
Michail Vourlakos 3fb0206243 reverse scrolling for vds/activities switching
--Latte should use the same workflow paradigm for
switching vds and activities with the plasma pager
approach. This commit complies with this.

BUG:411086
FIXED-IN:0.9.2
6 years ago