--when kwin is running then we should always
trust it in order to provide correct struts.
That applies also under x11 where other wms
might fail.
BUG:447595
FIXEX-IN:0.10.7
--visibility: simplify and improve code
for restoring and saving values
--enable visibility mode early on the startup
sequence
--enable windows tracking after startup phase
has ended
--windows tracking respect also view geometry
changes and not only window changes from the
desktop environment
--when multiple screens placement have edges that overlap
with each other, at that edges struts must be disabled
to provide much better windows behavior. For example when
dragging a window between such screens and there is
an AlwaysVisible panel or dock between them.
BUG:445595
FIXED-IN:0.10.5
--This new approach paints all docks and panels during
starup offscreen. This way especially under x11 not a lot of
visual glitches are appearing all over the place.
After startup time has ended docks and panels are
moved at their original and valid placement and slide in
animations are triggered.
--as it appears many users are using Plasma GlobalScaling
in conjuction with PLASMA_USE_QT_SCALING. This commit
provides plenty of fixes for that scenario in order to
make things workable.
--adjust X11::InputMask based on devicePixelRatio()
--adjust X11::GtkFrameExtents based on devicePixelRatio()
--adjust View::absoluteGeometry() based on devicePixelRatio()
--adjust WM::Tracker based on devicePixelRatio()
--adjust WM::AbstractInterface based on devicePixelRatio()
BUG:444222
FIXED-IN:0.10.3
--fix how CanBeAboveFullscreen windows option can be
enabled/disabled properly and work correctly
--fix how Blur is handled for docks and panels that
can be AboveFullScreenWindows under X11. Blur is now
working correctly for them but of course GtkFrameExtents
do not work at all because they are intended to work
based on KWin implementation.
BUG:443536
--the new approach is not using timers but actual
events from View in order to identify when the
view is fully shown and when their popup is actual
visible. This way popup showing and view slide-in
is always synchronized properly
BUG:425078
--that code can create issues during startup that
visibility mode is not yet set properly and it has
not yet been specified what is going to be its
proper behavior for no-sidebars visibility modes
--using hidden VisibilityManager::floatingGapWindow
implementation in order to provide full access for
the area which is below the screen margin when the
user has disabled user interaction for that area
BUG:433820
--when struts thickness during startup was zero
that was creating an invalid window geometry under
wayland and subsequently it was crashing the app.
BUG:431381
--when a floating view is hiding its screen gap
there is no reason for struts to be added
during that phase. Published struts could be
the final expected window position in that case.
BUG:431255
--use only input events in order to identify the area
from which a window accepts input and also remove almost
every mask-qml code handling
--by reducing mask usage to minimum we fix also the
BLACKLINE bug under X11
-- The new approach reduces mask area calls to
barely minimum. Input mask is used instead to
specify the area for which we accept input.
-- The new approach solves also the BLACKLINE issue
when hovering the view at startup. This is because
at all times the full window area is drawn.
--onSomethingChanged syntax is preferred for all
slots that are triggered from somethingChanged signals
--doThis syntax is preferred for generic slots that
are triggered from various different codepaths
--floating gap window is now activated independently of
kwin edges supports and only when really needed.
SidebarAutoHide visibility mode has been adjusted in order
to work nicely with floating gap window helper
--when the user has triggered its showing. It must be
given enough time for the user to observed the sidebar
contents before checking out if the sidebar must hide.
--as it appears in wayland the struts calculations must be
applied for exact screen_edge coordinates and use only the
view shown thickness. During the process floating panels
struts were not accurate at all cases and as such they
were fixed also for x11.
--when View::Visibility::mustBeShown signal is
triggered then the Views should always be shown
even when KWin has hide it with no real reason
--force appling activities to ALL View related windows
when changing current Activity. This way we make
sure that when KWin makes faulty assignments,
Latte is coming to the rescue.
--View recreation path was broken from new implementation
for Latte::Interfaces that pass objects to containment
interface. This is now fixed and Interfaces::View object is updated
and broadcasted correctly when changed
--when GtkFrameExtents are zeroed for behaveAsPlasmaPanels
then it is better to recreate the view to avoid freezes and
hidings of the view because of compositor strange behavior